nginx proxy_pass с upstream не работает и выдает ошибку 404 - PullRequest
0 голосов
/ 16 апреля 2019

Я настроил IIS с NGINX следующим образом:

public_facing_IIS -> NGINX [ограничение скорости] -> internal_IIS

Пользователи обращаются к общественностиURL-адрес веб-сайта, который перенаправляет запрос в NGINX, который затем пересылает его на внутренний сервер IIS.Причина этой цепочки в том, что мне нужно ограничить количество обращений от NGINX до internal_IIS определенным числом - я не хочу ограничения скорости в конце публичного URL.При этом при настройке апстрима с передачей прокси я получаю ошибку 404.

Так что это работает для любой ссылки на общедоступном веб-сайте IIS, но как только я попадаю в путь / Биллинг / я получаю404 ошибка

http{

    upstream myupstream {
            server internal.IISwebsite:80;
    }


  server {
        listen       81;
        server_name  internal.nginx;

        location / {
            proxy_pass http://internal.IISwebsite;
        }

        location /Billing/ {
            limit_req zone=mylimit burst=20;

            proxy_set_header Host $host;
            proxy_pass http://myupstream/;
        }
   }

}

Я пытался это сделать, даже не обращаясь к URL external_IIS и напрямую вызывая internal.nginx: 81.Все это хорошо работает для каждого другого URL на http://internal.nginx:81. В тот момент, когда я нажимаю http://internal.nginx:81/Billing/, я получаю ошибку http 404.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...