ojike
(Chk)
1
正在检查您的域名 . . .
警告:计算机的 443 端口似乎无法通过主机名访问: ***.com。
警告:与 http://shoutam.com (端口 80) 的连接也失败了。
这表明 ***.com 解析到的 IP 地址无法到达您正在安装 discourse 的这台计算机。
首先要做的是确认 ***.com 是否解析到此服务器的 IP 地址。
您通常在购买域名的同一地点进行此操作。
如果您确定 IP 地址解析正确,则可能是防火墙问题。
搜索“打开端口 YOUR CLOUD SERVICE”可能会有所帮助。
此工具仅用于最标准的安装。如果您无法解决上述问题,则需要自己编辑 containers/app.yml,然后输入
./launcher rebuild app
请问有人能帮我解决这个问题吗?我正在使用 Cloudflare。
要么关闭 Cloudflare,要么必须将 Discourse 配置为使用 Cloudflare 模板。
2 个赞
pfaffman
(Jay Pfaffman)
3
但是,您仍然无法安装,因为 Let’s Encrypt 需要直接访问端口 80 和 443 来颁发证书。
在获得证书并安装 Discourse 后,您可以搜索有关如何使其与中间的 Cloudflare 协同工作的主题(包括使用 Cloudflare 模板)。
1 个赞
抓得好,这不是 Let’s Encrypt,而是 Discourse 中使用的 acme.sh 客户端,它需要直接访问(certbot 有 DNS 插件,需要额外工作但消除了此要求)。我没有想到这一点,因为我多年来部署的几乎所有 Discourse 安装都需要使用反向代理,因此内部 SSL 模板一开始就被禁用了。
ojike
(Chk)
5
我已经从 Cloudflare 中移除了该网站,但仍然出现同样的问题。我还能做什么?
我不确定您说的“移除”是什么意思,但通常 DNS 传播需要几个小时。您可能需要等待一段时间,然后再试一次。
Stephen
(Stephen)
7
这里缺少很多信息,我们很难提供更多帮助。
如今,只要 HTTPS 未设置为严格模式,Cloudflare 在代理(橙色云)模式下就不会失败,因为 :80(HTTP)和 :443(HTTPS)都直接传递到服务器。
严格模式会强制 :80 上的流量重定向到 SSL,因此挑战会失败。
很有可能你遗漏了一个或多个基本要素,但如果我们不知道 VPS 的位置以及你在 DNS 中配置了什么,我们最多只能猜测这里发生了什么。
有些提供商要求在他们的 VPS 和外部世界之间设置 ACL - 你是否已验证这些端口在外部是打开的?你确定添加到 DNS 的“a”记录是指向已分配的公共 IP 地址吗?是否存在任何防火墙?
确实,对于某些 DNS 提供商来说是这样,但 Cloudflare 会强制对其代理的任何地址设置 300 秒的 TTL。这意味着任何上游 DNS 服务器将在更改后的五分钟内过期旧记录。
该模板所做的只是确保从 Cloudflare 在启用代理模式时添加的额外标头信息中提取正确的客户端 IP,这与安装过程无关。
2 个赞
pfaffman
(Jay Pfaffman)
8
如果你用橙色云重构了几次,你可能达到了 Let’s Encrypt 的速率限制。简单的解决方法是使用不同的子域或等待一周。
ojike
(Chk)
9
销毁液滴并创建一个新的液滴是否可行?
请注意,在此问题出现之前,我已经成功安装了 discourse,但由于管理员电子邮件出错而销毁了该液滴。现在,我似乎无法使用之前使用过的相同方法安装 discourse。
randyp
(Asgards Gate)
11
希望知识渊博的评论者也能帮助我,我将这个帖子重新激活。
我遇到了和原帖主一样的错误。
我目前正在运行 Unraid,并且有一个运行 Nginx Proxy Manager 的容器。防火墙端口已配置为将所有 80/443 端口流量发送到我的 NPM 容器。我已经成功地使用我的 NPM 容器设置了许多 Docker 容器,并且一切运行良好。
我安装了一个 Ubuntu Server 虚拟机,完成了初始配置,为虚拟机设置了静态 IP,安装了 Docker,然后下载了 Discourse,但在设置脚本中失败了,就像原帖主一样。
我在以下帖子中发布了更多信息:https://meta.discourse.org/t/discourse-installed-in-unraid-ubuntu-server-vm-behind-npm-reverse-proxy-not-resolving-hostname/293313\
我觉得它已经过时了,或者至少没有得到真正的解决。非常感谢任何帮助。
pfaffman
(Jay Pfaffman)
12
如果您想使用 Nginx Proxy Manager,您需要手动配置您的 app.yml。您可以关闭代理足够长的时间让 discourse-setup 首次运行(您仍然需要手动更改一些内容),或者从 samples/standalone.yml 复制。
randyp
(Asgards Gate)
13
是的,据我所知,yml 文件会在 discourse-setup 运行并完成后进行填充。为了实现这一点,也许我可以在防火墙上将 WAN 流量指向我正在安装 discourse 的 UbuntuVM,然后在设置完成后,将流量切换回反向代理,然后配置我的 app.yml 文件。
pfaffman
(Jay Pfaffman)
14
我忘了这个。您可以使用 --skip-connection-test 开关跳过该测试并运行。您仍然需要手动编辑端口,但它将允许您使用脚本创建文件并输入您的 SMTP 凭据。
2 个赞
randyp
(Asgards Gate)
15
这个信息太有用了。我将尝试一下,如果一切顺利,我会回到这个帖子汇报!再次感谢!
1 个赞