我使用 Dokku 在一台服务器上托管了多个应用程序。我在 Dokku 中启用了 vhosts 子域,所以我想访问我的应用程序:
- app1.mydomain.net
- app2.mydomain.net
...但是当我将浏览器指向...
- app1.mydomain.net
- randomtext.mydomain.net
- 我的域名.net
...我总是得到 app2。
关于如何在 app1.mydomain.net 访问 app1 有什么想法吗? 我还可以禁用在 mydomain.net 上显示的任何内容吗? 我认为这是默认行为,所以我想知道我设置错了什么。
更多详情:
我在 Dokku 0.5.6 上,在 DigitalOcean 液滴上运行。
当我运行 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
最佳答案
这是域问题 - 在“主机”请求 header 中发送了错误的值。
在这种情况下,将显示字典顺序第一个站点。禁用此行为,以便每个站点仅在指定的域中显示,而在 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
关于nginx - Dokku 子域都指向一个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39820699/