nginxssl单向和双向配置-创新互联

Nginx配置SSL
https://coding.net/u/aminglinux/p/nginx/git/blob/master/ssl/nginx.md

成都创新互联是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,微信平台小程序开发,十多年建站对报废汽车回收等多个方面,拥有丰富的网站营销经验。

Nginx配置SSL
Nginx配置示例(单向)

cp /etc/pki/ca_test/server/server.* /usr/local/nginx/conf/
{
listen 443 ssl;
server_name www.aminglinux.com;
index index.html index.php;
root /data/wwwroot/aminglinux.com;
ssl on;
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;
...
}

配置说明

  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单向和双向配置

nginx ssl单向和双向配置

经查找资料将ssl on注释掉就可以了 (和新版本的nginx有关)
第二个报错如下
nginx ssl单向和双向配置
发现是.crt文件问题 重新生成。crt文件的过程遇到了上节中出现的如下问题
nginx ssl单向和双向配置

然后 sed -i 's/unique_subject = yes/unique_subject = no/' /etc/pki/ca_test/index.txt.attr
重新生成.crt文件成功
重启nginx成功
访问https成功
nginx ssl单向和双向配置

Nginx配置双向认证

cp /etc/pki/ca_test/root/ca.crt /usr/local/nginx/conf/
配置示例:
{
listen 443 ssl;
server_name www.aminglinux.com;
index index.html index.php;
root /data/wwwroot/aminglinux.com;
ssl on;
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;
...
}

客户端(浏览器)操作

如果不进行以下操作,浏览器会出现400错误。400 Bad Request(No required SSL certificate was sent)
首先需要将client.key转换为pfx(p12)格式

cd /etc/pki/ca_test/client

openssl pkcs12 -export -inkey client.key -in client.crt -out client.pfx //这一步需要输入一个自定义密码,一会在windows上安装的时候要用到,需要记一下。

然后将client.pfx拷贝到windows下,双击即可安装。

也可以直接curl测试:
curl -k --cert /etc/pki/ca_test/client/client.crt --key /etc/pki/ca_test/client/client.key https://www.aminglinux.com/index.html

配置如下
nginx ssl单向和双向配置
重加载nginx 浏览器访问如下
nginx ssl单向和双向配置
将客户端证书导入
nginx ssl单向和双向配置
nginx ssl单向和双向配置

nginx ssl单向和双向配置

nginx ssl单向和双向配置
双向配置完成

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:nginxssl单向和双向配置-创新互联
网页路径:http://scyanting.com/article/ejhdh.html