Все поддомены Dokku указывают на одно приложение

У меня есть несколько приложений, размещенных на одном сервере с использованием Dokku. У меня в Dokku включены поддомены vhosts, поэтому я хочу получить доступ к своим приложениям по адресу:

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

...но когда я указываю браузеру на...

  • app1.mydomain.net
  • randomtext.mydomain.net
  • мой домен.net

... Я всегда получаю app2.

Любые идеи, как я могу получить доступ к app1 в app1.mydomain.net? Могу ли я также отключить все, что отображается на 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

person KemanoThief    schedule 02.10.2016    source источник


Ответы (2)


Можете ли вы скопировать вывод следующих команд?

dokku domains app1
dokku domains app2

Возможно, вы добавили app1.mydomain.net в app2, удалили его из app1 или что app1 на самом деле не развернуто.

Неизвестные заголовки HOST направляются на лексикографически первый сайт в стеке конфигурации nginx. Некоторая информация об этом доступна здесь.

Дополнительную информацию об управлении доменом в dokku можно найти здесь.

person Jose Diaz-Gonzalez    schedule 10.10.2016
comment
Решено благодаря первой ссылке, которую вы мне дали. Я добавляю ответ с дополнительной информацией. - person KemanoThief; 11.10.2016

Это проблема домена. В заголовке запроса «хост» отправлено неправильное значение.

В этом случае отображается лексикографически первое место. Отключите это поведение, чтобы каждый сайт отображался только в указанных доменах и ничего не отображалось в mydomain.net.

Для этого добавьте следующий код в секцию http файла /etc/nginx/nginx.conf и перезапустите 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

person KemanoThief    schedule 10.10.2016