申请腾讯云免费证书

因为泛域名证书需要购买,所以申请了blog.doragd.cn |doragd.cn|www.doragd.cn 的免费证书

上传证书

通过审核后即可下载。解压后找到文件夹的Nginx文件夹,将里面的文件上传至服务器

  • 这里我新建了一个 /etc/nginx/SSL 文件夹,并将文件传至这里

配置Nginx

打开配置文件/etc/nginx/conf.d/hexo.conf

  • 注意的是,默认的配置文件是/etc/nginx/nginx.conf

  • 查看该文件可以发现

    1
    2
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
  • 故实际上该文件已经包含了这两个文件夹中的文件,所以只需要在conf.d里面配置自己的文件就好。另外值得说明的是nginx文件夹中还有一个sites-available文件夹,实质是sites-enabled的一个软链接。

  • 因为之前在配置hexo时在sites-available 配置了hexo ,然而自己又在conf.d 里面配置了,所以之前在修改nginx设置时(比如增加PHP支持时)遇到了很多坑,设置总是不生效!!原来是配置文件路径搞错了,真的尴尬!!

增加如下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {
listen 443;
server_name doragd.cn; #修改为证书绑定的域名
ssl on;
ssl_certificate /etc/nginx/SSL/1_doragd.cn_bundle.crt; #证书路径
ssl_certificate_key /etc/nginx/SSL/2_doragd.cn.key; ##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 / {
root /var/www/hexo/; #修改为自己的网站路径
index index.html index.htm index.php;
}
}

全站HTTPS支持

打开配置文件后,对listen 80端口的server增加一条内容

1
rewrite ^(.*) https://$host permanent;

注意,什么叫listen 80端口的server: 就是配置文件里面类似如下内容的地方

1
2
3
4
server {
listen 80;
#在这里增加一条内容即可
}

重启Nginx

1
nginx -s reload

Congrats!大功告成