不太可能。这属于你可能只做一次的事情,而且你会在已经修改 app.yml 时进行。
我会尝试为 standalone.yml 提交一个 PR。
有了这个之后,就简单多了!
不太可能。这属于你可能只做一次的事情,而且你会在已经修改 app.yml 时进行。
我会尝试为 standalone.yml 提交一个 PR。
有了这个之后,就简单多了!
谢谢,我一直在本地修改 templates/web.letsencrypt.ssl.template.yml,但这让我的生活变得轻松多了!
我们需要在此包含(原始)主机名,还是仅包含别名?
只需别名。主机名就是主机名。
那么这样可以吗?
env:
DISCOURSE_HOSTNAME: domain.com
DISCOURSE_HOSTNAME_ALIASES: www.domain.com,otherdomain.org,www.otherdomain.org
在哲学上纠结于“别名”的含义,我包含了两个都指向我网站的网址:nzarchitecure.net.nz 和 www.nzarchitecture.net.nz,没有明显的不良影响(也可能没有任何好处)。
standalone.yml 是否可以被修改,或者被配置为读取 Discourse 运行实例中的管理员设置?
如果可以,这将对新用户以及那些希望迁移域或添加别名的人非常有帮助——减少一个需要研究和解决的麻烦。
不可以。如果容器中运行的作业能够更改 app.yml 之类的内容,那将非常糟糕。实际上,一个好的安全实践是将 S3 密钥之类的内容放在 yml 文件中,这样它们就不会在 Discourse 界面中暴露。
同样,您很少会进行诸如需要重定向哪些域之类的更改,而且这些更改需要其他东西,例如 DNS 设置。在设置 Discourse 时进行这些操作,而在设置 Discourse 时,您会修改 yml 文件。
这个问题已经被问过并得到解答,但似乎需要 DISCOURSE_HOSTNAME_ALIASES: domain.com,other.domain.com 而不仅仅是别名,如 DISCOURSE_HOSTNAME_ALIASES: other.domain.com。
有人能确认一下吗?
另外,看起来 @pfaffman 的拉取请求(PR)没有被合并,所以示例模板需要手动更改,对吗?
不。这个例子令人困惑。只有额外的名称才需要放在 DISCOURSE_HOSTNAME_ALIASES 中。
除非你需要你的站点拥有另一个名称的证书(比如昨天我将某人从 forum.example.com 迁移到 fancyword.example.com),否则你根本不需要 DISCOURSE_HOSTNAME_ALIASES。
所以我做了:
DISCOURSE_HOSTNAME: fancyword.example.com
DISCOURSE_HOSTNAME_ALIASES: forum.example.com
在进行更改之前备份了论坛,进行了更改,重建,恢复了备份(恢复程序会处理修复主机名引用),现在如果你访问 forum.example.com,你会得到一个有效的证书并被重定向到新的子域名。
是的,看起来没有人注意到这个拉取请求(PR)。我总是得去找这个。当然,DISCOURSE_HOSTNAME_ALIASES 是“显而易见的”,但只有当我看到它的时候。![]()
感谢您的指点 @pfaffman
在我的案例中,我需要这个来实现 AWS CDN 和 AWS S3 CDN 的正确缓存工作
DISCOURSE_HOSTNAME: fancyword.example.com
DISCOURSE_HOSTNAME_ALIASES: cloudfront.example.com
创建多个证书正是我们需要的/ 不幸的是,我们昨天用 certbot 敲击了账户太多次,所以该站点需要“禁闭”。既然您已经确认了 DISCOURSE_HOSTNAME_ALIASES 的正确用法,我将尝试使用另一个站点。
那么你需要在 AWS 上进行操作。
如果你添加另一个别名,它将允许你请求一个新的(除非你做了什么导致整个域名被屏蔽)。
看起来这可能不再需要了。缓存似乎正在工作。我将在 Issues with AWS CDN and S3 上更新详细信息。