前言
让博客通过https访问,可以增加网站的安全性,顺带着提升一点逼格。其实,最主要的还是,我看之前http访问时总有那个不安全字样,看着很碍眼,就像弄掉,今天终于如愿以偿。接下来就分享一下具体过程。
详细过程
购买SSL证书
打开阿里云
>产品与服务
>SSL证书
选择如下所示
然后填写相关信息,得到证书验证的相关参数
验证域名
我域名是在腾讯云上,在解析域名那里将上述得到的相关参数填入,然后回去进行验证。
下载证书并配置
验证通过之后即可下载证书,通过WinSCP
将证书上传至云服务器,然后进入nginx配置文件进行配置,如下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| server { listen 80 default_server; listen [::]:80 default_server; server_name delaunay.cn www.delaunay.cn; root /var/www/hexo; rewrite ^(.*)$ https://$host$1 permanent; #将所有http请求通过rewrite重定向到https。 # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf;
location / { }
error_page 404 /404.html; location = /40x.html { }
error_page 500 502 503 504 /50x.html; location = /50x.html { } }
server { listen 443 ssl; #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。 server_name delaunay.cn www.delaunay.cn; #将localhost修改为您证书绑定的域名,例如:www.example.com。 root /var/www/hexo; index index.html index.htm; ssl_certificate /etc/nginx/conf/cert/www.delaunay.cn.pem; #将domain name.pem替换成您证书的文件名。 ssl_certificate_key /etc/nginx/conf/cert/www.delaunay.cn.key; #将domain name.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; }
|
重启Nginx
配置完毕之后重启nginx服务。
1 2 3 4
| #停止服务 nginx -s stop #重启服务 nginx -c /etc/nginx/nginx.conf
|
然后,再次访问域名就是通过https的方式了。
至此,搞定收工!