为了在Ubuntu上安装Nginx,并通过Certbot接入HTTPS来保护 example.com,可以按照以下步骤进行:
- 安装 Nginx
首先,更新包列表并安装 Nginx:
sudo apt update
sudo apt install nginx
- 配置 Nginx 反向代理到 Service
编辑 Nginx 配置文件,将其设置为反向代理到 Service 的 8080 端口:
sudo vim /etc/nginx/sites-available/example.com
在文件中添加如下配置:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8080;
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;
}
}
保存并退出编辑。
接着,创建符号链接以启用这个站点:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
测试 Nginx 配置是否正确:
sudo nginx -t
如果没有错误,重新加载 Nginx:
sudo systemctl reload nginx
- 安装 Certbot 并申请 HTTPS 证书
安装 Certbot:
snap install certbot --classic
为 example.com 申请证书:
sudo certbot --nginx -d example.com
Certbot 会自动修改你的 Nginx 配置文件,以支持 HTTPS。
- 自动更新证书
Certbot 会自动安装一个自动更新的计划任务。但你可以通过以下命令手动验证更新任务:
sudo certbot renew --dry-rungit submodule update --init --recursive
完成后,example.com 应该可以通过 HTTPS 访问,并反向代理到Ubuntu上的服务。