是否可以在不使用 HTTPS 的情况下进行安装,然后从托管服务自行实施 SSL?
是的,但这意味着不能运行 ./discourse-setup 脚本,而需要手动编辑 app.yml 文件。除非你熟悉相关配置并愿意自行调整,否则不建议采用这种设置方式。
我可以编辑文件并使用 / launcher rebuild 吗?
您能解释一下为什么免费集成 SSL 对您来说不是一个选项吗?
我在 CDN 配置上遇到了问题(例如,论坛加载时没有样式,就像禁用了 JavaScript 一样),我更喜欢为此集成自己的 SSL。长期以来,我一直想知道如何在不先启用 HTTPS 的情况下安装论坛?
难道你要为此责怪内置的 SSL 封装吗?
这与证书毫无关系。
难道要我蒙着眼睛解决问题吗?请原谅,我还在初学阶段,不犯错就很难学会。我提出的问题,得到的回答往往又是一个问题。
不,你应该通过概述问题来寻求帮助。这比提出关于猜测性解决方案的模糊问题有效得多。
如果你想分享更多信息,我们可以相对快速地找到问题的根源。
正在尝试通过 CloudFront 设置 CDN。
不幸的是,只有将“源站协议策略”设置为“仅 HTTP”时,页面才能正常显示。当我访问 sitenumbers.cloudfront.net 时,页面可以完整显示(但也会重定向到主域名)。// 无论如何,在这种情况下,网站加载时间甚至比不使用 CDN 时更长,因此完全没有意义。
当我将 CloudFront 的“源站协议策略”设置为“匹配查看器”时,页面仅显示内容,没有样式,就像禁用了 JavaScript 一样。// 但网站加载速度非常快。
我不确定问题出在哪里。因此,我想尝试在没有 SSL 的情况下使用论坛。
./discourse-setup 在不提供 Let’s Encrypt 邮箱地址的情况下,将提供 HTTP 页面。无需手动编辑。
确实如此。
如果你想要的是 CDN,请参阅 https://meta.discourse.org/t/enable-a-cdn-for-your-discourse/14857。虽然如上所述可以禁用 HTTP,但这几乎肯定无法解决你的问题。
谢谢。我尝试编辑 app.yml 并执行 rebuild,但页面未能启动。因此我理解在这种情况下需要重新安装应用吗?
discourse-setup 和 rebuild 有什么区别?我理解这不会对网站造成任何更改?
那是因为你操作有误。问题很可能出在空格上。
如果你想要的是 CDN,最好的办法可能是:
cd /var/discourse
docker stop app
docker rm app
rm containers/app.yml
./discourse-setup
然后按照我之前提供的链接中的说明操作。
祝你好运。
感谢这份指南,我在使用时遇到了 CloudFront 的问题。您自己写道:
CloudFlare CDN 与 Discourse 历史上一直存在兼容性问题,因此我们目前不建议使用 CloudFlare CDN。
但我注意到您的网站已正确配置了 CloudFront。所以它应该是可以正常工作的,对吗?
@pfaffman 哭泣 困倦
使用您喜欢的任何 CDN。即使将 Cloudflare 配置为 CDN 而非盲目地将其置于整个网站之前,也能正常工作。
8 篇帖子已拆分至新主题:Discourse 设置脚本的 Let’s Encrypt 主机名验证
那我该怎么在不使用 HTTPS、仅使用 HTTP 的情况下安装(强制生效的安装)?
你需要注释掉顶部附近的两行,这两行用于启用 Let’s Encrypt 和 SSL。
就是这两行:
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"
但同样,我认为这样做并不能解决任何问题。
嗯,事情没那么简单。你能告诉我你的论坛是如何配置 CloudFront CDN 的吗?