Я настроил 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.