dalu
(dalu)
2022 年9 月 5 日 06:27
1
你好,
我在设置 discourse 时遇到此错误:
WARNING: Port 443 of computer does not appear to be accessible using hostname
我在自托管的 Debian 服务器上运行。
我正在使用一个专用的域名来运行 discourse,我放了一个简单的 HTML 索引页面,它可以正常工作。
但是,还有其他域名指向此服务器,但它们只提供基本的 HTML 网页。
我阅读了类似的主题,其中提到 discourse 不能与 WordPress 运行在同一台服务器上,
但还有其他限制吗?
非常感谢。
Jagster
(Jakke Lehtonen)
2022 年9 月 5 日 06:53
2
Discourse 可以并且将会很好地与 Wordpress 协同工作。但它能否在您自己的计算机上运行则是完全不同的故事。我之所以提出这一点,只是因为有人可能会通过搜索找到这个话题,并可能认为在同一台服务器(服务器 == VPS)上使用 Wordpress(或几乎任何其他 CMS/应用程序)与 Discourse 一起运行是 mission impossible。但事实并非如此。这实际上非常简单。
1 个赞
pfaffman
(Jay Pfaffman)
2022 年9 月 5 日 07:08
4
您需要手动配置。请参阅如何在已有 Apache 站点的服务器上设置 Discourse 。您不能使用 discourse-setup。
1 个赞
dalu
(dalu)
2022 年9 月 5 日 07:13
5
好的,谢谢链接,它讲的是 Apache,但我用的是 Nginx,猜想效果应该一样吧?
1 个赞
ghassan
(Ghassan Maslamani)
2022 年9 月 6 日 20:48
7
我假设:您有一个服务器,该服务器被多个指向同一服务器的域或子域使用 。
因此,您主要需要运行一个主代理服务器 ,如果您运行 TLS/SSL,它将监听端口 80 和 443。
主代理服务器将根据主机/域路由流量,即 discourse.example.com => 转到 discourse,blog.example.com => 转到 wordpress。
我认为您有多种处理此类部署的方式,因为通常 wordpress 自带自己的代理服务器,discourse 也是如此。所以您的选择可能是:
使用 discourse 的 nginx 代理服务器作为主服务器,它将代理到 wordpress
使用 wordpress 作为主代理服务器,它将代理到 discourse
使用您自己的主代理服务器,它将代理到两者。
无论您选择哪种方式,我认为 TLS/SSL 通常会由主代理服务器处理。
我在上面提到的前两种场景中都使用了 discourse,当我使用其他代理服务器处理传入流量(第一种选择)时,我不得不更改端口,并关闭 TLS,而是让其他代理服务器处理它。对于第二种场景,我更改了 discourse 容器内的 nginx 配置文件,并为另一个服务器添加了声明,然后使用 certbot 为其生成了证书。
Jagster
(Jakke Lehtonen)
2022 年9 月 6 日 22:17
8
Ghassan Maslamani:
通常WordPress自带一个代理服务器
呃……不是。通常没有代理。只是一个普通的网络服务器,比如 Apache2 或 Nginx,当它提供虚拟主机和终止 SSL 时,它就不是一个代理服务器。当然,它可以充当代理服务器,但这并不是典型的解决方案,而且与 WordPress 无关。
WordPress 不自带任何类型的服务器。
已安装的 WordPress 可以与网络服务器、PHP、SQL 等一起销售,但这与“自带”是完全不同的概念。
Discourse 是自带的。
是的,在同一台服务器上使用代理或任何前端来运行 Discourse 和 WordPress 是相当容易的。
ghassan
(Ghassan Maslamani)
2022 年9 月 6 日 22:41
9
我主要指的是 WordPress 堆栈包含 Nginx 或 Apache 的情况,尽管它本身不附带。但在容器化时代,如果你查看 WordPress 官方 Docker 镜像 (下载量超过 10 亿),它附带了 Apache。
抱歉,我可能没有恰当地使用代理一词,但我想表达的观点是,当人们想运行 WordPress 和 Discourse 时,通常会最终得到两个 Web 服务器(或代理服务器)。
dalu
(dalu)
2022 年9 月 19 日 02:21
10
抱歉回复晚了,我暂时脱离网络和论坛一段时间了,感觉很好,但在离开前我尝试修复了电子邮件问题,但访问论坛时仍然出现 502 错误。
抱歉我解释错了,我不需要在同一台服务器上运行 WordPress,那只是为了举一个您无法做到的例子。
事实上,我只有 4 个域名指向此服务器上的简单网站。
Discourse doctor 似乎没有错误
但我仍然在论坛域名上收到 502 错误
我需要像他们在这里说的那样安装 haProxy 吗?谢谢
It’s not as daunting as it sounds!
While this may sound a bit intimidating at first, it’s really not all that bad. You basically need to do two things:
Install HAProxy (or an alternative) which will take over port 80 and then divert your Discourse traffic to your docker container, and all your other sites to your usual Apache set-up.
Let Apache know which port to listen for.
While this is only a rough guide, it should do a good job of pointing you in the right direction. Let’s get star…
pfaffman
(Jay Pfaffman)
2022 年9 月 19 日 05:25
11
不需要。您也可以只使用 apache 作为反向代理。
ghassan
(Ghassan Maslamani)
2022 年9 月 19 日 09:56
12
这和使用 WordPress 或任何其他框架的想法是一样的。
当您有多个网站指向同一台服务器时,所有网站/http(s) 流量都监听端口 80/433,因此通常您会有一台服务器监听这些端口,它会根据主机名/网站转发流量。
那么,这在 Discourse 的上下文中意味着什么?
您可以让 Discourse 的 Nginx 服务器处理流量重定向(在这种情况下,Discourse 将监听 80/443,请参阅此主题 Run other websites on the same machine as Discourse Discourse 监听不同的端口,例如 8080,然后让您的服务器在收到来自论坛网站的请求时将其重定向到该端口。注意:在这种情况下,最好关闭 Discourse 的 TLS/SSL,让您的主服务器处理它。
2 个赞