为什么要安装SSL证书,如果没有SSL证书,访问网站的时候,前面会有个小叹号,是用 http://www.hduzn.cn
这样的域名访问的。如果部署了SSL,访问的时候、域名前面就有个安全锁的小图标了。是用 https://www.hduzn.cn
这样的地址访问的。
反正都可以免费申请SSL证书的,就申请了下。
前言:
已经把Hexo博客部署到Ubuntu服务器上了,可以通过http访问了。
部署的文章参考此篇:Hexo博客部署到云服务器(Ubuntu)上
一、下载SSL证书(本地)
在腾讯云买的域名,在DNSPod中直接点击SSL的图标,点【点此管理】即可跳转到腾讯云上SSL证书管理的页面。
1.申请证书
点击【申请证书】,就能申请免费的证书。
2.下载证书
点击【下载证书】,会提供各种服务器类型的证书下载。(比如Tomcat、Apache、Nginx、IIS等)
如果配置好DNS了,系统会检测,会提示你推荐下载哪一类证书。
腾讯云的SSL证书管理控制台:https://console.cloud.tencent.com/ssl
我这里用的Nginx服务器,就下载Nginx的证书。
下载后,解压出来一个 hduzn.cn_nginx 文件夹,里面一共4个文件:
hduzn.cn_bundle.crt 证书文件
hduzn.cn.key 私钥文件
hduzn.cn.csr 没用到
hduzn.cn_bundle.pem 没用到
就用到前两个文件,后两个没用到。
二、部署SSL证书(服务器)
腾讯云提供的Nginx服务器SSL证书安装部署的文档:https://cloud.tencent.com/document/product/400/35244
1.上传证书到服务器
直接用Xftp上传。因为用Xshell,所以对应也装了Xftp用,很方便传文件。
因为可能涉及权限问题,所以准备分两步走:
- 1).先把文件上传到用户的home目录;
- 2).再把文件复制到Nginx配置的目录里。
先建个ssl/nginx_ssl目录,然后把hduzn.cn_bundle.crt
和hduzn.cn.key
两个文件用Xftp上传到目录:/home/ubuntu/ssl/nginx_ssl
。
再到服务器中运行命令:
1 | sudo cp hduzn.cn_bundle.crt /etc/nginx/sites-available |
直接把两个文件放 /etc/nginx/目录下,我索性跟配置文件放一起了。
2.修改站点Nginx配置文件
根据之前Hexo部署到Ubuntu的内容,我的站点的Nginx配置文件是:/etc/nginx/sites-available/default
如果你不想直接用vim命令写这么多行,也可以跟我一样,把这个default文件先通过Xftp下载到本地。改完了再上传上去。通过命令强制覆盖原文件就行了。
原修改好的文件(用http访问):
1 | ... |
行数说明:
- 4:监听80端口,default_server 即设为默认虚拟主机,无效访问会转到该站点
- 5:对应 ipv6
- 7:nginx托管的hexo目录路径
https访问配置
加上https访问配置后(主要添加了HTTPS server部分),文件主要部分改为:
1 |
|
行数说明:
- 18:将http访问重定向为https访问,即定向到第二个 server 块,需要注意ssl证书到期时间
- 26:监听SSL的443端口
- 27:对应 ipv6
- 29:证书文件
- 30:私钥文件
- 33:协议配置
- 34:加密套件
- 37:nginx托管的hexo目录路径
修改完后,重启Nginx。
1 | sudo service nginx restart |
- 本文标题:Ubuntu Nginx服务器SSL证书安装部署
- 本文作者:HDUZN
- 创建时间:2022-05-11 18:06:51
- 本文链接:http://hduzn.cn/2022/05/11/Ubuntu-Nginx服务器SSL证书安装部署/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!