IIS Rewrite Multiple URLS to Ports

У меня есть два процесса / приложения, работающие на портах 8888 и 8890.

Я могу получить к ним доступ на своем сервере Windows с помощью http: // localhost: 8888 & http: // localhost: 8890 .

В настоящее время я использую графический интерфейс IIS для перезаписи URL-адресов. Установлены маршрутизация запросов приложений (ARR) и перезапись URL.

Мне удалось переписать или перенаправить все запросы, которые попадают на сервер, на один порт - по сути, я сопоставляю подстановочный знак '*' с ' http: // localhost : 8888 / {R: 0} ', и он работает, когда я открываю http: // веб-сайт ! http: // website / solution2 / должен перенаправить на порт 8890

Пожалуйста, помогите.

1
задан 29 October 2017 в 08:18
1 ответ

Что-то вроде этого (в вашем web.config) должно работать:

<rule name="solution1" stopProcessing="true">
    <match url="^(solution1/)(.*)" />
    <action type="Rewrite" url="http://localhost:8888/{R:2}" />
</rule>
<rule name="solution2" stopProcessing="true">
    <match url="^(solution2/)(.*)" />
    <action type="Rewrite" url="http://localhost:8890/{R:2}" />
</rule>

IIRC, {R: 0} будет соответствовать всему URL-адресу, поэтому вы не Не хочу этого в данном случае. Вместо этого с помощью ( и ) вы определяете «группы захвата»; {R: 2} будет все после solution1 / или solution2 / .

Если вы настроены на использование IIS GUI, надеюсь, вы сможете найти поля, которые необходимо заполнить; это те же самые, что вы уже используете, только с другими параметрами.

0
ответ дан 4 December 2019 в 04:29

Теги

Похожие вопросы