为了在Ubuntu上安装Nginx,并通过Certbot接入HTTPS来保护 example.com,可以按照以下步骤进行:

  1. 安装 Nginx

首先,更新包列表并安装 Nginx:

sudo apt update
sudo apt install nginx
  1. 配置 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
  1. 安装 Certbot 并申请 HTTPS 证书

安装 Certbot:

snap install certbot --classic

为 example.com 申请证书:

sudo certbot --nginx -d example.com

Certbot 会自动修改你的 Nginx 配置文件,以支持 HTTPS。

  1. 自动更新证书

Certbot 会自动安装一个自动更新的计划任务。但你可以通过以下命令手动验证更新任务:

sudo certbot renew --dry-rungit submodule update --init --recursive

完成后,example.com 应该可以通过 HTTPS 访问,并反向代理到Ubuntu上的服务。