Dokku子域名都指向单个应用程序

3
我有多个应用程序托管在一个使用Dokku的服务器上。我在Dokku中启用了vhosts子域名,所以我想通过以下方式访问我的应用程序:
- app1.mydomain.net - app2.mydomain.net
但是当我将浏览器指向以下网址时:
- app1.mydomain.net - randomtext.mydomain.net - mydomain.net
我总是得到app2。
有什么主意可以让我在app1.mydomain.net上访问应用程序1吗? 我能否禁用在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个回答

3

这是一个域名问题 - 在“host”请求头中发送了错误的值。

当出现这种情况时,会显示字典序最小的站点。禁用此行为,以便每个站点仅在指定的域名下显示,并且在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

这是一个关于Dokku默认站点配置的文档。如果您想要了解如何配置Dokku默认站点,可以参考该文档。

2
你能复制以下命令的输出吗?
dokku domains app1
dokku domains app2

可能您将app1.mydomain.net添加到了app2中,从app1中删除了它或者app1实际上没有部署。
未知的HOST头被路由到nginx配置堆栈中字典序最靠前的站点。有关此信息的一些内容可在此处查看:这里
有关dokku域管理的更多信息,请参见此处

因为你给我的第一个链接,问题已解决。我会添加更多信息的答案。 - KemanoThief

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接