josy38
(Johann Christoph Lindner)
1
您好,
我第一次尝试按照官方方式使用 discourse-setup 脚本安装 discourse……在一个 Arch VPS 上(用于与团队进行测试)——它有一个新的 nginx 安装——我已经停止并暂时禁用了它……以获得一个可用的构建。
脚本卡在“正在检查您的域名……”——我查看了脚本,这是一个调用“connect_to_port”——我猜它在那里尝试连接到 443……netcat 已安装……如果我在 shell 中输入例如“nc host 443”,我没有收到任何输出,也没有任何反应……我猜是因为“外部”nginx 没有运行——所以该端口上没有东西……不确定脚本到底在那里做了什么。
我也尝试跳过该测试——但似乎最终——在构建之后——它会尝试类似的操作——但也没有成功。所以我删除了所有东西,现在重新开始……我能做什么——让这个 netcat 连接测试运行起来?也许这也能解决其他问题……
(抱歉我的糟糕英语……——我不是母语者……)
我再次尝试没有 netcap——构建以这条消息结束……
docker: 守护进程的错误响应:驱动程序无法在端点 app (80e0a31158301339ff7c9567079017bb795b1172ee47e1c6417c29acda3c699a) 上编程外部连接: (iptables 失败:iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 443 -j DNAT --to-destination 172.17.0.2:443 ! -i docker0: 警告:扩展 tcp revision 0 不受支持,缺少内核模块?
警告:扩展 DNAT revision 0 不受支持,缺少内核模块?
iptables:没有这样的链/目标/匹配。
这是 docker 配置问题吗?
pfaffman
(Jay Pfaffman)
2
您需要移除 nginx 才能进行标准安装。Discourse 包含自己的 nginx,因此您不需要另一个(除非您出于其他原因想要一个,这会使安装更复杂)。
脚本会尝试使用您的域名连接到自身。如果域名指向您的虚拟机,那么只要 DNS 正确且没有其他东西在使用 443 和 80 端口,它就应该能够通过该主机名联系到自身。
如果您多次绕过检查,您将达到从 Let’s Encrypt 获取 https 证书的尝试次数限制。
2 个赞
josy38
(Johann Christoph Lindner)
3
谢谢。
我想要一个多站点设置——所以我需要反向代理的东西……但是对于我在这里找到的任何更高级的指南——我首先需要一个正常工作的基本安装。
是否有更手动化的安装手册——或者是否真的需要先完全精简机器,然后再进行搭建……?
Discourse 不应该是运行在此机器上的唯一软件……我只想知道如何将其保留在自己的层上——同时通过公共代理层访问它……
因为这台机器反正也是一次性的——我一定会尝试……这是我第一次为 Web 应用程序这样做——仅仅是因为“为了简单起见”……
Jagster
(Jakke Lehtonen)
4
嗯,您将像往常一样在“外部”nginx 中设置 vhost,使用 proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;,当然在那里终止 SSL。
然后,在 app.yml 中,您必须注释掉端口重定向和 Let’s Encrypt,并改用套接字。
重新启动 nginx 并重建 Discourse 将为您提供一个开放的论坛 
说明也可以在此处找到。
3 个赞
josy38
(Johann Christoph Lindner)
5
这对我来说非常有帮助……谢谢你,伙计
我会照做的……