版本建议
SSL卸载驱动。建议:openssl版本1.1.0f+。
nginx版本Stable version:最新稳定版,生产环境上建议使用的版本。
文件准备
- 生成CSR对应的私钥文件,一般为key或pem后缀。
- 将证书颁发邮件中的中级证书(证书SHECA RSA Domain Validation Server CA G3.cer或SHECA RSA Organization Validation Server CA G3.cer或SHECA DV Server CA G5或SHECA OV Server CA G5.cer)文件内容和根证书(UCA Global G2 Root.cer)文件内容复制粘贴到用户证书文件内容末尾,保存为domain.cer(文件后缀可以为crt或cer可以换行,但不用空行,保留每个文件中的——-BEGIN CERTIFICATE——-和——-END CERTIFICATE——-)也可以直接使用收到的Nginx版cer后缀文件,操作后的文件内容如图片所示:
其中第一段为服务器证书(usercert.cer)内容,第二段为中级证书内容,第三段为根证书内容。
SSL相关配置
到nginx的conf目录,找到nginx.conf文件,修改或者配置这样一段
server {
listen 80 ;
…
# 强制跳转(该跳转语句会将所有http请求转为https请求,可根据实际需求进行操作)
return 301 https://$host$request_uri;
}
server {
listen 443 ;
ssl on;
ssl_certificate /xxx/xx/domain.cer;
ssl_certificate_key /xxx/xx/domain.key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
}
配置文件参数说明
listen 443
SSL访问端口号为443
ssl on
启用SSL功能
ssl_certificate
证书文件domain.pem
ssl_certificate_key
私钥文件domain.key
ssl_protocols
使用的协议
ssl_ciphers
配置加密套件,写法遵循openssl标准
配置完成后,先用sbin/nginx –t来测试下配置是否有误,正确无误的话,建议重启nginx。