大家好,
有个小问题,我可以在我的网络内部使用 Discourse,仅限内部网络,不接入互联网吗?
假设我家的域名是 testlabs.local,我希望这个域内的所有用户都能访问 Discourse。我可以通过端口 80 访问它,但是当我注册账户时,我设置了用户名和密码,然后继续时,它会给我一个 404 nginx 错误消息,页面是空白的。奇怪的是,即使出现错误,我仍然会收到邮件,但当我点击链接时,再次出现 404 错误。
所以,我可以像我想要的那样在内部使用它吗?
或者它只能用于外部?
如果是这样,是否有关于在内部设置的指南,因为我只看到云端指南。
我在 yaml 文件中设置了我的 smtp 设置,我可以收到邮件。我不清楚 smtp 用户名和密码字段。我只是注释掉了它们,这需要设置吗?如果需要,为什么我仍然在没有设置的情况下收到邮件?
我只是不想在其中放入明文的电子邮件密码。
jericson
(Jon Ericson)
2
也许可以设置一个开发环境:
以上任何一种都可以让您通过 http://localhost:4200/ 使用 Discourse。这些选项都使用 MailHog 来测试 SMTP,而无需实际发送邮件。
更新: 我重新阅读了问题,看到您想让其他人使用它。我不知道这个答案是否有帮助。 
pfaffman
(Jay Pfaffman)
3
Discourse 在没有 https 的情况下基本无法正常工作,而在本地网络中配置 https 是很困难的。你可以加入参考涉及反向代理的指南,但这并非受支持的设置。
嗨 Jon,
感谢您的回复,是的,我也希望其他人能够使用它。我只是想澄清一下,这些人是我本地网络的一部分,所有访问都在内部进行,不对外公开。
jericson
(Jon Ericson)
5
是否可以启用“仅限邀请”和“需要登录”来将 Discourse 放在互联网上,但限制谁可以看到它?或者也许使用“必须批准用户”(或许带有“自动批准电子邮件域名”)来仅允许您组织中的用户加入?
我想问题是您在解决什么问题?
您好 Jay,
感谢您的回复。我目前已将其设置在我域内的 Red Hat 发行版上,仅供内部使用。我会尝试一下。当您说没有 HTTPS 就无法工作时,您到底是什么意思?所以它只能在外部工作,只能通过公共互联网访问吗?
您能否更详细地解释一下反向代理指南?我不明白您在指南中提到的“加入”是什么意思。
谢谢
嗨 Jon,
目前我们只是在试用该产品,我们想将其用作我们公司的内部论坛。
供开发人员和 IT 人员发布并能够相互互动。我们只希望它是内部的,没有公共访问权限。
这是他们确定的解决方案。我无法控制这一点。
jericson
(Jon Ericson)
8
我认为“必须批准用户”设置有效地满足了这一要求。许多“内部”工具(Slack、Google Suite、Microsoft Office 360、GitHub Enterprise 等)托管在互联网上,但仅限于客户管理员批准的用户。
如果将其放在内部网络上是 IT 要求,他们也应该能够帮助设置 Discourse 的网络。
我明白了,请问要如何设置才能仅供内部访问?没有设置指南,而且用户反映没有 HTTPS 的话效果不佳。
我实际上已经在实验室设置了本地网络,将进行测试,但之前的测试显示内部访问无效。我会再试一次。
pfaffman
(Jay Pfaffman)
10
我的意思是,很多前端代码都假定你正在使用 https。我的意思是,标准安装假定你的网站可以从 Let’s Encrypt 获取证书。
这里有一个。要使其正常工作,你需要设置 Apache 并为其配置一个有效的证书,然后让它反向代理 Discourse。
在已有 Apache 网站的服务器上设置 Discourse
这不是一个受支持的设置。如果防火墙/NAT 是一个要求,那么就需要有人知道如何设置一个内部反向代理并配置一个有效的证书,并且能够遵循上面链接的指南之一,这是该要求所付出的代价。
这比我说的更委婉。
Jagster
(Jakke Flemming)
11
你们那里有IT人员。他们可以构建证书,因为他们无论如何都会在你们的内网中使用Web服务器。唯一的问题是获取一个被浏览器认可的证书。
谢谢,我会试试的,看起来像是一个过时的指南,但我会尝试将这些部分连接起来。
感谢您的帮助。