nginx如何配置ssl

本文小编为大家详细介绍“nginx如何配置ssl”,内容详细,步骤清晰,细节处理妥当,希望这篇“nginx如何配置ssl”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

创新互联公司是一家业务范围包括IDC托管业务,网站空间、主机租用、主机托管,四川、重庆、广东电信服务器租用,遂宁托管服务器,成都网通服务器托管,成都服务器租用,业务范围遍及中国大陆、港澳台以及欧美等多个国家及地区的互联网数据服务公司。

单向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”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。


名称栏目:nginx如何配置ssl
标题来源:http://myzitong.com/article/gphssh.html