本文小编为大家详细介绍“nginx如何配置ssl”,内容详细,步骤清晰,细节处理妥当,希望这篇“nginx如何配置ssl”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
单向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 / { } }
说明:
就是比单向多了加粗的俩行,但是配置了双向后,服务器还要对客户端的证书进行认证,一般情况下,我们单向SSL使用较为普遍。
注:
因为我们的证书为自建CA签发的证书,浏览器并不信任该证书,所以在访问的时候会提示“证书不受信任”。
这种情况,只需要把CA的根证书导入到浏览器中 “受信任的根证书颁发机构” 中就不会再提示 “证书不受信任”。
导出为windows可用的证书方式如下:
[root@localhost root_ca]# openssl pkcs12 -export -inkey private/ca.key -in
导出的证书复制到windows上,双击安装,按照向导导入到 “受信任的根证书颁发机构” ,即可。
读到这里,这篇“nginx如何配置ssl”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。