已经具备的条件
1.博客程序已经运行 我的端口是8090
2.需要一个已经托管的域名,并DNS解析到服务器的IP地址
3.安装好nginx
第一步先安装证书管理软件,可以自动帮域名申请证书并自动续签
sudo apt update && sudo apt install certbot python3-certbot-nginx -y第二步为域名申请证书
sudo certbot certonly --nginx -d yourdomin.com其中yourdomin.com替换为自己的域名
这里域名证书会保存到本地,记下其路径

例如我这里路径是
/etc/letsencrypt/live/blog.aimid.cc.cd/fullchain.pem
/etc/letsencrypt/live/blog.aimid.cc.cd/privkey.pem
第三步创建nginx配置文件
vim /etc/nginx/sites-available/halo.conf
server {
listen 80;
server_name blog.aimid.cc.cd; # 替换为你的域名
# 将 HTTP 请求重定向到 HTTPS
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name blog.aimid.cc.cd; # 替换为你的域名
# SSL 证书路径,替换为你的实际路径
ssl_certificate /etc/letsencrypt/live/blog.aimid.cc.cd/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/blog.aimid.cc.cd/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8090; # 替换为 Halo 的实际地址和端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
在这里替换掉自己的域名、SSL 证书路径以及实际的端口地址,然后保存退出
第四步启用软连接并重载nginx
sudo ln -s /etc/nginx/sites-available/halo.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
这样就可以通过域名访问博客网站了