OpenSSLをチェック
インストールのopensslかどうかを確認します。
opensslのバージョン
通常CentOS7に、OpenSSLのデフォルトではインストールされています。
自己署名SSL証明書と秘密鍵を生成します
ステップ1:秘密鍵を生成します
新/etc/ssl/certs/www.ffcc.comディレクトリおよびコマンドを実行した後、次のコマンドを入力します。
opensslのgenrsa -des3 - アウト server.keyの1024
4つのパスワード以上を入力します。
ステップ2:CSR(証明書署名要求)を生成
opensslのREQ - 新しい -key server.keyの- アウト server.csr -subj " /C=CN/ST=Zhejiang/L=Hangzhou/O=mofei/OU=mofei/CN=www.ffcc.com "
次のようにパラメータをSUBJ:
フィールド | フィールド意味 | 例 |
/ C = | 国国立 | CN |
/ ST = | 都道府県省 | 浙江省 |
/ L = | 場所または都市都市 | 杭州 |
/ O = | 組織の組織や企業 | mofei |
/ OU = | 組織単位部門 | mofei |
/ CN = | 共通名のドメイン名またはIP | www.ffcc.com |
第三段階:秘密鍵のパスワードを削除
必要がパスワードを指定するための最初のステップの間に、秘密鍵を作成します。そして、このコードは、Webサーバーを起動するたびに、パスワードを入力するように要求されますされ、副作用をもたらします
これは明らかに非常に不便です。以下のように、パスワードで秘密鍵を削除するには:
opensslのRSA - で server.keyの- アウト server.keyの
ステップ4:自己署名SSL証明書の生成
# - 日数証明書が有効である-日 opensslのX509 -req -days 3650 - で server.csr -signkey server.keyの- アウトをserver.crt
証明書ファイルを使用する必要がある:をserver.crtとserver.keyの
キー、CSR、CRT:X.509証明書は、3つのファイルで構成されています。
キーは、クライアントデータの暗号化に送信するために使用されるサーバー上の秘密鍵ファイルです、とクライアントのから受信したデータの復号化
CSRは、証明書に署名する認証局(CA)に提出する証明書署名要求ファイルであります
証明書の署名機関(CA)によるCRTの証明書、または自己署名証明書の開発者、証明書所有者の情報が含まれ、公開鍵の所有者、および署名者の署名やその他の情報
注:暗号技術でで、X.509は、公開鍵、証明書失効リスト、認証証明書、証明書パス検証アルゴリズムの標準仕様です。
ステップ5:設定nginxの設定ファイル内のSSL証明書
ユーザーの誰もいません。 worker_processes 1 ; #error_logログ / error.logに。 #error_logログ / error.logに予告。 #error_logログ / error.logに情報; #pidログ / nginx.pid。 イベント{ worker_connections 1024 ; } HTTP { mime.typesを含めます。 default_typeアプリケーション / octet- ストリーム。 #log_formatメイン ' REMOTE_ADDR $ - $のREMOTE_USER [$ time_local] "$依頼" ' # ' $ステータスの$ body_bytes_sent "$ HTTP_REFERER" ' # ' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR" ' ; #access_logログ / access.logをメイン; sendfile; 上#tcp_nopush; #keepalive_timeout 0 ; keepalive_timeout 65 ; 上のgzip圧縮; サーバー{ 聞く 80 。 SERVER_NAME www.ffcc.com; リライト ^のhttps:(*)// $永久$ 1に、server_name。 } サーバー{ 聞く 443 SSLを。 keepalive_timeout 70 ; SERVER_NAME www.ffcc.com; 位置 / { proxy_passます。http:// 127.0.0.1:65432/v2ui。 proxy_redirect デフォルト; client_max_body_sizeの10メートル;#はどのくらいを設定するためにどのくらいの、最大アップロード10Mを示しています。 #クライアントの本当のIPを取得するためにサーバーのホストとクライアントの先頭実アドレスを設定します proxy_set_headerホスト$ホスト; proxy_set_header X -Real- IP $ REMOTE_ADDR。 proxy_set_header X -Forwarded- のために$ proxy_add_x_forwarded_for。 proxy_set_header X -Forwarded- スキーム$スキーム。 } error_page 500 502 503 504 / 50x.html。 位置 = / 50x.html { ルートHTML; } ssl_certificate /etc/ssl/certs/www.ffcc.com/ をserver.crt。 ssl_certificate_key /etc/ssl/certs/www.ffcc.com/ server.keyの。 #クリックジャッキングを削減 add_header X -Frame- オプションはDENY。 #無効にサーバが自動的にリソースタイプを解決します add_header X -content-タイプ- オプションnosniff。 #アンチXSS攻撃 Xはadd_header -Xss-保護1 。 #サーバーが優先アルゴリズム ssl_prefer_server_ciphers上; # ssl_protocols TLSv1のTLSv1の。1 TLSv1の。2 ; ssl_ciphers HIGH:!aNULL :! MD5; ssl_session_cache共有:SSL:10メートルを。 ssl_session_timeout 10メートル; } }
ご注意ください
自己署名SSL証明書のセキュリティは、認証局とアプローチによる購入と証明書の使用に本番環境の必要性にリスクがあります。