Nginx是一款非常常见的web服务器。本文详细描述如何在Nginx服务器上部署并使用ECC+RSA双SSL(Secure Sockets Layer)证书。
前提条件
- 已安装SSL卸载驱动,如:
OpenSSL 1.1.0f
及以上版本。 - Nginx 1.11及以后版本支持ECC+RSA双证书,建议使用最新稳定版Nginx Stable version。
- 确保已经获取数字证书。有关获取数字证书方法,可参阅如何获取数字证书。
如何部署
SSL相关配置
按照如下步骤对SSL进行相关配置:
- 打开Nginx的conf目录下的
nginx.conf
配置文件,定位以下代码段:# HTTPS server # #server { # listen 443; # server_name localhost; # ssl on; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_timeout 5m; # ssl_protocols SSLv2 SSLv3 TLSv1; # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; # ssl_prefer_server_ciphers on; # location / { #} #}
- 将以上代码段替换为:
server { listen 443; server_name localhost; ssl on; root html; index index.html index.htm; ssl_certificate /xxx/xx/rsa.pem; #RSA证书路径 ssl_certificate_key /xxx/xx/rsa.key; #RSA证书私钥路径 ssl_certificate /xxx/xx/ecc.pem; #ECC证书路径 ssl_certificate_key /xxx/xx/ecc.key; #ECC证书私钥路径 ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } }
- 重启Nginx服务器。
强制HTTP跳转HTTPS (可选)
为了将用户默认的HTTP请求自动跳转为HTTPS请求,打开nginx.conf
配置文件,添加如下代码:
return 301 https://$host$request_uri;
注意:上述步骤需重启后生效。
更多信息
你已成功完成SSL证书部署。如果要对所部署的网站进行安全监测,参阅MySSL的使用。