我们在 etc/nginx/ 目录下新建 ssl 文件夹来存放证书。把 crt 证书文件和 key 私钥文件上传到这里。然后就可以配置 Nginx 配置文件了。
我的配置文件放在 sites-enabled 文件夹里,我们删掉默认的文件新建一个,具体配置内容可以参考腾讯云的操作指导。
下面是我的配置文件
# 配置 http 访问时通过 301 转发到 https 上。
server{
listen 80;
server_name example.com www.example.com;
return 301 https://www.example.com$request_uri;
}
# 证书部分内容配置,注意证书路径写对,其他地方照抄就行了
server {
listen 443 ssl default_server;
server_name www.example.com;
ssl on;
ssl_certificate /etc/nginx/ssl/1_www.example.com_bundle.crt;
ssl_certificate_key /etc/nginx/ssl/2_www.example.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8000;
}
}
# 这一步把 顶级域名转发到 www 二级域名上,有利于 SEO
server {
listen 443 ssl;
server_name example.com;
return 301 https://www.example.com$request_uri;
}
第一个server 配置的是把普通 80 端口访问的 http 协议转发到 https 访问。
第二个server 配置的就是证书路径和一些参数,这个照抄就行了,只要把证书路径写对
第三个server 配置的是把不带 www 的顶级域名转发到带 www 的二级域名,利于 SEO. 比如 example.com 会自动跳转到 www.example.com 。