NGINX 代理后检查域名失败

你好。

我正在尝试在一台仅拥有内网 IP 地址的虚拟机上启动一个 Discourse 实例,该实例只能通过另一台虚拟机上的 Nginx 代理访问。因此,代理包含以下配置:

upstream forums {
    server 10.240.10.19:443;
    server 10.240.10.19:80;
}

server {
    listen 443 ssl;
    server_name SECRET;

    access_log /var/log/nginx/SECRET_access.log;
    error_log /var/log/nginx/SECRET_error.log;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        add_header X-Host $host;
        expires 0m;
        proxy_pass http://forums;
    }

    ssl_certificate /etc/letsencrypt/live/SECRET/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/SECRET/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}

尝试使用 discourse-setup 时,我遇到了以下错误:

WARNING: Port 443 of computer does not appear to be accessible using hostname:  SECRET
WARNING: Connection to http://SECRET (port 80) also fails.

起初,仅编辑 containers/app.yml 中的内容就能正常工作,实例也可访问。但是,尝试使用内置的 Let’s Encrypt 功能获取 SSL 证书时失败了。所以我猜这里有什么问题,希望你们中有人知道是怎么回事。

谢谢,
felixoi

您需要手动编辑 app.yml。Discourse-setup 仅适用于标准配置。请参阅 在同一台机器上运行其他网站与 Discourse