一方向 SSL 構成例:
server{ listen 443 ssl; server_name www.123.com; root /data/wwwroot/www.123.com/ ; index index.html ; ssl_certificate server.crt; ssl_certificate_key server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!eNULL; ssl_prefer_server_ciphers on; location / { } }
構成手順:
1. 443端口为ssl监听端口。 2. ssl on表示打开ssl支持。 3. ssl_certificate指定crt文件所在路径,如果写相对路径,必须把该文件和nginx.conf文件放到一个目录下。 4. ssl_certificate_key指定key文件所在路径。 5. ssl_protocols指定SSL协议。 6. ssl_ciphers配置ssl加密算法,多个算法用:分隔,ALL表示全部算法,!表示不启用该算法,+表示将该算法排到最后面去。 7. ssl_prefer_server_ciphers 如果不指定默认为off,当为on时,在使用SSLv3和TLS协议时,服务器加密算法将优于客户端加密算法。
注:
nginx は、ソース コード中にデフォルトでは有効になりません。インストール ssl モジュールを再コンパイルしてインストールする必要があります。インストール コマンドは次のとおりです:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
その後、nginx
デュアルライン SSL 構成の例
server{ listen 443 ssl; server_name www.123.com; root /data/wwwroot/www.123.com/ ; index index.html ; ssl_certificate server.crt; ssl_certificate_key server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!eNULL; ssl_prefer_server_ciphers on; ssl_client_certificate ca.crt; //这里的ca.crt是根证书公钥文件 ssl_verify_client on; location / { } }
手順:
太字の行が一方向よりも 2 行多くありますが、双方向が設定された後、サーバーはクライアントの証明書も認証します。通常の状況では、一方向 SSL はより一般的に使用されます。
注:
私たちの証明書は独自に構築された CA によって発行された証明書であるため、ブラウザーは証明書を信頼しないため、アクセスするとプロンプトが表示されます。証明書は有効ではありません。「信頼済み」です。
この場合、CA のルート証明書をブラウザの「信頼されたルート証明機関」にインポートするだけでよく、「証明書は信頼できません」というメッセージは表示されなくなります。
Windows で使用できる証明書をエクスポートする方法は次のとおりです。
[root@localhost root_ca]# openssl pkcs12 -export -inkey private/ca.key -in
エクスポートした証明書を Windows にコピーし、ダブルクリックしてインストールし、ウィザードに従って「信頼できる証明書」にインポートします。ルート認証局」。
以上がnginxでSSLを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。