
Halo博客添加SSL教程
一.安装Nginx
下列代码适用于CentOS
# 添加 Nginx 源
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
# 安装 Nginx
sudo yum install -y nginx
# 启动 Nginx
sudo systemctl start nginx.service
# 设置开机自启 Nginx
sudo systemctl enable nginx.service
下列代码适用于Ubuntu
sudo update
sudo apt install nginx
二.配置Nginx
sudo vim /etc/nginx/conf.d/halo.conf
将下面的内容粘贴进去
upstream halo {
server 127.0.0.1:8090;
}
server {
listen 80;
listen [::]:80;
server_name www.yourdomain.com;
client_max_body_size 1024m;
location / {
proxy_pass http://halo;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
后保存退出,输入下列命令检查配置
sudo nginx -t
三.使用 certbot 申请并自动安装SSL证书
1.安装 certbot 和 certbot nginx 插件
根据自己的系统选择相应命令
CentOS 安装 certbot 以及 certbot nginx 插件
sudo yum install certbot -y
sudo yum install python3-certbot-nginx -y
Ubuntu 安装 certbot 以及 certbot nginx 插件
sudo apt install certbot
sudo apt install python3-certbot-nginx
2.申请并自动配置证书
sudo certbot --nginx
需要输入邮箱并按y或a同意相关协议,具体请参考输入命令后的输出
3.自动续约
这里申请的免费证书可以免费续期,理论上可以一直免费使用,这里提供了自动执行续期的命令
sudo certbot renew --dry-run
4.注意事项
到这里,即完成了所有的步骤,可以直接通过域名进行Halo博客的访问。注意,国内服务商注册的域名大多需要备案,否则无法使用,具体请参考云服务商的文档。
在设置完反向代理后,必须在博客的后台管理界面设置正确的博客地址,否则可能导致CSS加载不成功、样式混乱等错误。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 白芷舒华