В nginx я могу "proxy_pass" пользователя на другой сервер. Например (некоторые детали опущены для краткости):
server {
listen 443 ssl;
server_name 192.xxx.xx.xx;
root /var/www/...;
location /api {
proxy_pass https://localhost:8443;
}
location / {
try_files $uri $uri/ /index.html;
}
}
Однако, если я пытаюсь добавить подобное правило через IIS Manager (URL Rewrite -> Reverse Proxy), я получаю сообщение об ошибке «указанное имя хоста неверно», поскольку оно содержит (в моем случае) «/» ,
После ссылки на этот SO вопрос я подумал, что, возможно, это можно сделать, используя простое "пустое" правило перезаписи URL:
<rule name="Reverse Proxy" stopProcessing="true">
<match url="^test-rewrite" />
<action type="Rewrite" url="http://localhost:8081" appendQueryString="false" />
</rule>
Однако теперь он просто перенаправляет обратно на «Веб-сайт по умолчанию». В частности, сервер, работающий через порт 8081 (сервер Tomcat), содержит логику, которая перенаправляет пользователя на путь / login, если они не аутентифицированы. Вместо перенаправления пользователя на / login в приложении Java, оно перенаправляет обратно на / login на «веб-сайте по умолчанию».
Я прошу прощения, если это глупый вопрос, но я не очень хорошо знаком с IIS, и в nginx задача довольно проста.
Спасибо.
EDIT:
Чтобы уточнить, веб-сайт, размещенный на IIS, и сервер Tomcat работают на одной физической машине (именно поэтому я ссылаюсь на localhost).