如何允许多个主机名登录?

我希望能够拥有一个主域名,以及额外的域名,例如同一域名的 .net、.org 版本,或者像 .onion 这样的域名,用于访问和登录网站。我可以配置权限以允许查看网站内容,但禁止登录。尝试登录时系统会报错。是否有更简便的方法来实现这一目标?

听起来您希望您的 Discourse 实例在多个域名上可用(相同的二级域名,但多个顶级域名,如 .net、.org 等),并且能够从每个域名登录论坛。也就是说,如果一个人访问您的 .net 域名,另一个人访问您的 .org 域名,您希望他们都能登录到同一个论坛?是这样吗?

我认为这可能需要一个插件或新功能的实现,以完成目前 Discourse 内置的针对 Google、Yahoo 等单点登录(SSO)所实现的功能。这个问题需要由 Discourse 团队成员或插件作者来回答。

您需要禁用此功能 discourse/lib/middleware/enforce_hostname.rb at main · discourse/discourse · GitHub

插件代码如下:

after_initialize do

  module ::OverrideEnforceHostname
    def call(env)
      @app.call(env)
    end
  end

  class Middleware::EnforceHostname
    prepend OverrideEnforceHostname
  end

end

我将此代码插入到现有的 plugin.rb 中并进行了检查。
但结果相同。