Hexo 网站配置免费阿里云证书

原来的个人网站 leehao.me 使用了阿里云的负载均衡服务,因此 HTTPS 证书也是部署在负载均衡服务器上。文章《在阿里云部署 Hexo 网站》介绍了采用负载均衡方式来部署网站的方法。
考虑到网站访问流量不高且为了减少费用,决定不再使用负载均衡服务,而是直接采用单个 ECS 服务器的方式来部署网站。采用新的方式部署网站后,为了同样让网站支持 https,需要重新对 https 证书进行配置。

购买免费的阿里云证书

阿里云提供免费的证书服务,购买路径为,首页- 产品 - 安全 - CA 证书服务,选择免费型 DV SSL 证书类型,如下图所示:

Hexo 网站配置免费阿里云证书_第1张图片

图:在阿里云购买免费的证书服务

下载证书

购买证书后,进入阿里云控制台,下载证书。由于 Hexo 网站采用 Nginx 进行部署,因此,我们控制台选择 下载证证书 for Nginx。
打开下载的证书文件夹,可以看到里面包含两个文件,分别为 .key 文件和 .pem 文件。

安装证书

下载好证书后,我们就可以安装证书了。关于如果安装证书,我们可以参考阿里云控制台的说明,具体步骤如下。

(1)服务器放置证书
在网站服务器创建目录 /etc/nginx/cert/,这个目录用于存在证书文件。创建好目录后,我们将证书上传到这个目录。

(2) 修改 Nginx 配置

网站的 Nginx 配置为文件 /etc/nginx/conf.d/hexo.conf。hexo.conf 配置文件需要添加端口 443 的监听,443 端口用于 https 协议。

server {
    listen 443;
    server_name leehao.me;
    charset utf-8;
    client_max_body_size 2M;

    ssl on;
    root html;
    index index.html index.htm;
    ssl_certificate   /etc/nginx/cert/214316615920393.pem;
    ssl_certificate_key  /etc/nginx/cert/214316615920393.key;
    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/public;
        index  index.html;
    }
}

为了处理用户使用 http 协议访问网站的情况,需要修改原有端口 80 的监听配置:

server {
    listen 80;
    return 301 https://leehao.me$request_uri;
}

这样,当用户使用 http 协议访问网站时,会自动进行 301 跳转,以 https 协议访问网站。

(3)重启 Nginx

为使网站的 Nginx 生效,执行命令nginx -s reload重启 Nginx。

(4)访问测试

打开浏览器,输入地址 https://leehao.me/ ,可以正常访问网站。

Hexo 网站配置免费阿里云证书_第2张图片
图:使用 https 访问 hexo 网站

Hexo 网站的完整 Nginx 配置 hexo.conf。

参考资料

  1. https://www.aliyun.com

你可能感兴趣的:(后台)