如何在 Dokku 中更改域主机名的默认应用程序

How to change Default App in Dokku for Domain Host Name

作为个人项目,我已经在 Digital Ocean 上部署了 Dokku Image,并且一切正常。事实上,它工作得很好,就像我以前做过的那样,但我有一个问题,关于如何更改域名主机名指向的“默认”应用程序。

这是我的设置。

  1. 我在 Digital Ocean 上设置了 Dokku,并选择了“主机名”和“虚拟主机命名”选项。所以基本上这意味着我有自己的域名用于指向应用程序而不是 IP/Port。假设我的域名是 mydomain.com

  2. 我在这个 Digital Ocean 服务器中有 2 个 Dokku 应用程序 运行。让我们称它们为 app-aapp-b。当我启用“虚拟命名”时,可以像这样访问这些应用程序。

    • app-a.mydomain.com
    • app-b.mydomain.com

这一切都很完美。

现在我注意到,如果我在浏览器中转到“mydomain.com”或“www.mydomain.com”,它会将“defaults/redirects with masking”变为“” app-b.mydomain.com”。我的猜测是,因为 app-b 是我设置 NGINX 的最后一个应用程序,因此默认为此。

那么我怎样才能改变这种行为,即我需要“mydomain.com”或“www.mydomain.com”来访问 app-a?

非常感谢。

马克.

By default, dokku will route any received request with an unknown HOST header value to the lexicographically first site in the nginx config stack.

我相信您可以使用 domains 插件添加根域

# add a domain to an app
dokku domains:add app-a mydomain.com

您还可以指定完全限定名称作为应用程序的名称

$ git remote add dokku dokku@dokku.me:mydomain.com
$ git push dokku master

Alternatively, you may push an app to your dokku host with a name like "00-default". As long as it lists first, it will be used as the default nginx vhost.


参考文献: