我使用Dokku在一台服务器上托管了多个应用。我在Dokku中启用了vhosts子域名,所以我想访问我的应用程序:
...但是当我将浏览器指向...时
......我总是得到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
答案 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