drno-reg
@drno-reg
см не кратко

Почему срабатывает один и тот же proxy_pass для разных hostname?

На локальном хосте в /etc/host
прописал 2 hostname

127.0.0.1       service1.cloud.com
127.0.0.1       service1


поднял nginx с config

server {
        listen          81;

#         listen service1.cloud.com:81;

                server_name service1.cloud.com;

        # Logging Settings
        access_log  /var/log/nginx/proxy_pass_access.log main;
        error_log /var/log/nginx/proxy_pass_access.log warn;

        location / {
        proxy_pass http://service_ui:8080/;
}

 }


Рассчитывал что при обращении по URL service1.cloud.com:81 nginx будет проксировать запрос на location
service_ui:8080

НО получилось что и запрос с URL service1:81 тоже проксируется на location
service_ui:8080

Почему срабатывает один и тот же proxy_pass для разных hostname service1.cloud.com и service1?

и что нужно написать в conf nginx чтобы service1 не проксировал запросы на location
service_ui:8080?
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
drno-reg
@drno-reg Автор вопроса
см не кратко
хотите верьте, хотите нет, но в прошлый четверг звезды сложились так как сложились что пришлось "засорять" тостер глупыми вопросами по версии некоторых знатоков.

публикую ответ на свой же вопрос:

если вы в /etc/hosts прописываете 2 hostname
127.0.0.1       service1.cloud.com
127.0.0.1       service1


то и правила для nginx нужно прописать 2

server {
        listen          81;

       server_name service1.cloud.com;

        location / {
        proxy_pass http://service_ui:8080/;
}

 }

server {
        listen          81;

       server_name service1;

        location / {
        proxy_pass http://service1_ui:8181/;
}

 }


иначе service1 будет возвращать service1.cloud.com
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы