您好,我通过 Docker 设置了 discourse,但标题中提到的错误仅出现。
您使用了哪种安装方法,除了核心安装过程本身之外,还配置了什么?
我曾经单独设置过图像,也通过 docker-compose 设置过!但是,错误仍然存在!
我还能在哪些方面进行其他配置?
恐怕这点信息不足以让人提供建议。您是否遵循了标准的安装指南?
如果您能提供一些关于您的设置的详细信息,您是如何安装 Discourse 的,以及您可能做的任何其他事情,人们或许能给您一些见解。 ![]()
如果你使用了 docker-compose,那么这不是标准安装。你可能使用了 bitnami(这里不支持)?如果你能进入 admin/settings,你也许可以在设置中搜索“content security”来添加任何内容,无论它试图指向什么。
为什么将其强制用于端口 80 和 443?
我能更改这个吗?
我不知道。你显然没有标准安装,也没有解释你是如何安装的。
我不知道是什么在端口 80 和 443 上强制运行什么。
如果你想要好的帮助,你应该使用标准安装。如果你想要任何帮助,你需要多说一些关于你是如何安装的。
嗯,我使用的是标准安装,它强制使用端口 80 和 443。
所以你没有使用 docker-compose?
是的,标准安装需要端口 80 和 443,并开启 https 和 force_https。如果你进行了标准安装,就不应该遇到你描述的问题。
你运行 discourse-setup 进行安装了吗?
问题是,我想在其他端口上运行 discourse 并通过反向代理将其包含在我的 Apache2 中……
也许如果你说你是如何安装的,其他人就能帮助你。也许你想要在已有 Apache 站点的服务器上设置 Discourse。
我已经说过了!关于标准安装!!!
当然可以。您应该在 app.yml 中公开,例如 - "83:80",或者您的反向代理用于将流量发送到后端的任何端口。或者您可以使用 websocket。
您想使用非标准安装的反向代理。
我已经这样做了,但网站仍然无法访问。
那么您的设置是错误的。问题几乎不可能猜测。不要使用 CSP,那将是第一步。但是 Apache2 和 Discourse 都在同一台服务器上吗?您的 Apache2 配置正确吗?等等,等等。
再说一遍,正如所说——您没有使用标准安装。
我无法使用标准安装!抱歉,这有什么难理解的?我已经运行了 Apache2,而且我不明白为什么 Discourse 认为它不够灵活,不能使用其他端口,就要关闭它。
我的 Apache2 配置:
<VirtualHost *:80>
ServerName <domain>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerName <domain>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/<domain>/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/<domain>/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/<domain>/fullchain.pem
ProxyPass / http://127.0.0.1:90/
ProxyPassReverse / http://127.0.0.1:90/
</VirtualHost>
app.yml:
expose:
- "90:80" # http
- "100:443" # https
也许不像理解你只能从团队那里获得标准安装的支持那么难。这就是为什么你必须希望我们中的一员,普通的成员,能够帮助你。
而且因为你什么都不说,所以这是一项艰巨的任务。我们无法猜测你的配置是否正确,或者你是否在 app.yml 中指向了正确的端口。我们对你的设置一无所知。
当然可以。在 Discourse 前面使用反向代理是相当容易的——无论如何,在 Docker 之外。你只需要暴露正确的端口,或者使用 websocket,如果这两个在同一台服务器上。
你做过吗?我不知道,我的牌也没有告诉我 ![]()
还有,如果 CSP 是个问题,就不要使用它,直到你弄清楚是什么在对抗。