大家好!我在这里阅读了各种帖子,但都没有成功,所以我想详细解释一下我目前的设置,希望能有人给我一些反馈来解决这个问题。
我目前正在运行一个 Unraid 服务器。Unraid 托管着 Docker 容器和虚拟机。我有一个 Nginx 反向代理管理器 (NPM) 运行在一个 Docker 容器中,它负责处理我运行的所有其他 Docker 容器的反向代理。我的防火墙设置为将所有端口 80/443 上的 WAN 流量发送到 NPM,并在 NPM 中将流量重定向到我的容器。
我遵循了以下指南:discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub
它确实表明它是为在云服务器上安装而设计的,尽管我的机器是本地托管的裸机。
System information as of Sun Jan 28 07:35:54 AM UTC 2024
System load: 0.5126953125
Usage of /: 45.9% of 13.16GB
Memory usage: 6%
Swap usage: 0%
Processes: 125
Users logged in: 0
IPv4 address for docker0: 172.17.0.1
IPv4 address for enp1s0: 10.30.20.150
我在 Unraid 中启动了一个虚拟机,安装了 Ubuntu Server,设置了静态 IP 地址,安装了 Docker,并下载了 Discourse。在运行设置时,我遇到了以下错误。
Hostname for your Discourse? [discourse.example.com]: forum.mydomain.net
Checking your domain name . . .
WARNING: Port 443 of computer does not appear to be accessible using hostname:
WARNING: Connection to (port 80) also fails.
This suggests that forum.mydomain.net resolves to some IP address that does not reach this
machine where you are installing discourse.
The first thing to do is confirm that forum.mydomain.net resolves to the IP address of this server.
You usually do this at the same place you purchased the domain.
If you are sure that the IP address resolves correctly, it could be a firewall issue.
A web search for "open ports YOUR CLOUD SERVICE" might help.
This tool is designed only for the most standard installations. If you cannot resolve
the issue above, you will need to edit containers/app.yml yourself and then type
./launcher rebuild app
我能够从我的 NPM 容器 ping通我的 Ubuntu VM 的静态 IP 地址 10.30.20.150。我已经将我的 NPM 配置设置为指向 HTTPS 10.30.20.150 端口 443 以及 HTTP 端口 80,但都没有成功。当设置失败时,它似乎关闭了 VM 中的 Discourse 容器?
有没有什么解决方法?
也许,编辑我的防火墙端口以绕过反向代理直接指向 VM,以便它可以获取证书并运行容器,然后在运行后手动编辑 config.yml 以使用我的反向代理?
我能否编辑安装过程以不要求 SSL 证书,并在端口 80 上运行,然后通过 NPM 处理获取 SSL 证书?
最后,我在一些帖子中看到 Discourse 有“生产”和“开发”版本……似乎开发版本可以在本地端口上通过 HTML 运行?如果这是真的,我想我可以更容易地将所有东西放在我的反向代理后面……据我所知,生产包更容易更新,并且可能有性能改进。
我将非常感谢在这件事上的任何帮助、反馈或建议。