前言
本文示例使用的是阿里云服务器,如果是其他云服务商可能会有所不同。
下载
在阿里云证书控制台下载Nginx版本证书到本地
配置
在Nginx的安装目录下创建cert
目录,并且将下载到本地证书压缩包里的全部文件拷贝到cert目录中。
这里建议将证书文件按照要部署的域名进行重命名。按照[域名].pem
、[域名].key
的形式。如果是含通配符的证书文件,请自行命名。
这里假定是一个域名一个配置文件,并存放在 Nginx 安装目录下 conf.d 目录中。
打开要安装证书的域名配置文件:
vim [Nginx安装目录]/conf.d/xxx.conf
将其修改为 (这里提供的范例是优化后的ssl配置) :
server {
listen 80;
server_name [域名];
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name [域名];
...
# ssl
ssl_certificate [Nginx安装目录]/cert/[域名].pem;
ssl_certificate_key [Nginx安装目录]/cert/[域名].key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers on;
ssl_session_tickets on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
...
}
配置好后重启nginx使其生效:
systemctl resatrt nginx
参考文章
http://f2ex.cn/properly-enable-http2-support
https://www.jianshu.com/p/fe8fc5157f96
https://bjornjohansen.no/optimizing-https-nginx
http://nginx.com/blog/improve-seo-https-nginx
https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls