Настройка IIS в качестве прокси-службы - PullRequest
0 голосов
/ 28 января 2019

Я настраиваю IIS в качестве обратного прокси-сервера в Windows 10. У меня есть веб-служба asp net core, запущенная на http://localhost:5050. Я хочу направить http-запрос с https://localhost/api/myservice на http://localhost:5050.Как мне настроить IIS для этого?

Я сделал следующее:

  • Добавить новый «Прокси-сервер» в разделе перезаписи URL
  • Установить «Шаблон»«as» (. *) / api / myservice
  • Установить «Тип действия» как «Перезаписать» и «Перезаписать URL» как «http://localhost:5050"
  • Проверено« Добавить строку запроса »

Честно говоря, я пробовал так много способов настроить IIS, но все еще безуспешно.Также может кто-нибудь объяснить, что означают строки "{R: 1}" или "{C: 2}"?

1 Ответ

0 голосов
/ 29 января 2019

Добавьте новое пустое правило на свой сайт, привязанное к 443, и настройте его в соответствии с изображением.

{R:1} относится к первому совпадению из регулярного выражения правила.Таким образом, регулярное выражение типа He(.*)o, wo(.*)d! имеет две группы совпадений.Если сопоставлено со строкой Hello, world!, полная совпадающая строка может быть указана в URL перезаписи как {R:0}, ll как {R:1}, а rl как {R:2}.

В вашем паттерне (.*)/api/template все, что совпадает до / api / template, будет {R:1}, поэтому строка /some/path/api/template будет иметь /some/path как {R:1}.В шаблоне, который я настраиваю ниже на изображении, ^/api/template(?:/(.*))?, подпути в / api / template записываются как {R:1}.Таким образом, строка /api/template/index.html будет иметь {R:1} как index.html.

Ссылки {C:x} относятся к переменным условия, которые вы не будете использовать в базовом сценарии перезаписи, подобном этому.

IIS Blank Rule

См. документацию для отличного примера вашего сценария.

...