#nginx #dns #vhosts #dokku
#nginx #dns #vhosts #dokku
Вопрос:
У меня есть несколько приложений, размещенных на одном сервере с использованием Dokku. В Dokku включены поддомены vhosts, поэтому я хочу получать доступ к своим приложениям по:
- app1.mydomain.net
- app2.mydomain.net
…но когда я указываю своему браузеру на…
- app1.mydomain.net
- randomtext.mydomain.net
- mydomain.net
… Я всегда получаю app2.
Есть идеи, как я могу получить доступ к app1 в app1.mydomain.net ? Могу ли я также отключить все, что отображается на 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
Ответ №1:
Это проблема домена — в заголовке запроса ‘host’ отправляется неверное значение.
В этом случае отображается лексикографически первый сайт. Отключите это поведение, чтобы каждый сайт отображался только в указанных доменах и ничего не отображалось 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
Ответ №2:
Можете ли вы скопировать выходные данные следующих команд?
dokku domains app1
dokku domains app2
Возможно, вы добавили app1.mydomain.net
app2
, удалили его app1
или app1
фактически не развернули.
Заголовки неизвестных хостов перенаправляются на лексикографически первый сайт в стеке конфигурации nginx. Некоторая информация об этом доступна здесь .
Более подробная информация об управлении доменами dokku доступна здесь .
Комментарии:
1. Решаемая благодаря первой ссылке, которую вы мне дали. Я добавляю ответ с дополнительной информацией.