nginx - Dokku 子域都指向一个应用程序

标签 nginx dns vhosts dokku

我使用 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/

相关文章:

node.js - 我应该如何在同一系统上组织多个 Express 服务器?

apache - Apache httpd-vhosts.conf和.htacces(XAMPP)中的动态虚拟主机自动化

ubuntu - 我的 ubuntu 服务器上没有 a2ensite

动态IP的dns

dns - 在我向 Google 授权我的域名后,是否可以删除 Google TXT 验证记录?

ssl - Letsencrypt + Docker + Nginx

ssl - 我怎样才能告诉 Varnish 发送 https 给主人?

nginx - 如何在 Kubernetes (GKE) 和 Google HTTPS 负载均衡器中使用 nginx

php - nginx:Mac OS X 上带有 Curl/https 的 502 Bad Gateway

sockets - 在bind9上安装pihole