Dokku子域名都指向一个应用

时间:2016-10-02 19:18:34

标签: nginx dns vhosts dokku

我使用Dokku在一台服务器上托管了多个应用。我在Dokku中启用了vhosts子域名,所以我想访问我的应用程序:

  • app1.mydomain.net
  • app2.mydomain.net

...但是当我将浏览器指向...时

  • app1.mydomain.net
  • randomtext.mydomain.net
  • mydomain.net

......我总是得到app2。

我是如何在app1.mydomain.net上访问app1的? 我还可以禁用在mydomain.net上显示的任何内容吗? 我认为这是默认行为,所以我想知道我设置错了。

更多详情:

我在Dokku 0.5.6上,在DigitalOcean Droplet上运行。

当我运行dokku domains app1时,我得到:

=====> Global Domain Name
mydomain.net
=====> app1 Domain Names
app1.mydomain.net

......当我跑dokku domains app2时,我得到:

=====> Global Domain Name
mydomain.net
=====> app2 Domain Names
app2.mydomain.net

2 个答案:

答案 0 :(得分:1)

您可以复制以下命令的输出吗?

dokku domains app1
dokku domains app2

您可以将app1.mydomain.net添加到app2,将其从app1 中删除app1未实际部署。

未知的HOST标头被路由到nginx配置堆栈中按字典顺序排列的第一个站点。有关该信息的一些信息可用here

有关dokku域名管理的更多信息,请访问here

答案 1 :(得分:1)

这是域名问题 - “主机”请求标头中发送了错误的值。

在这种情况下,会显示按字典顺序排列的第一个站点。禁用此行为,以便每个站点仅显示在指定的域中,并且mydomain.net处不显示任何内容。

为此,请在/etc/nginx/nginx.conf的http部分中添加以下代码并重新启动nginx

server {
  listen 80 default_server;
  listen [::]:80 default_server;

  server_name _;
  return 410;
  log_not_found off;
}

来源:http://dokku.viewdocs.io/dokku/configuration/domains/#default-site