Если планируется использовать авторизацию через Kerberos, то необходимо настраивать reverse proxy на базе IIS.
Если ранее в качестве обратного прокси использовался другой веб-сервер (например, nginx), то его необходимо отключить. |
- Создать пустой сайт на необходимом порту (80 для http или 443 для https) без дополнительных настроек. Для https так же необходимо добавить SSL\TLS сертификат.
Подробнее в статье.
- Скачать аддоны для IIS:
- ARR
- URLRewrite
- Установить ARR:
- Остановить службы WAS и WMSVC (службы WMSVC может не быть)
net stop was /y
net stop wmsvc /y
- Установить AAR с помощью скачанного дистрибутива
- Включить службы WAS и WMSVC
net start was
net start wmsvc
- Установить URLRewrite:
- Установить URLRewrite с помощью скачанного дистрибутива
- Перезапустить IIS командой
iisreset
- Включить проксирование:
- В IIS выбрать сервер и перейти в Application Request Routing

- В правой части окна выбрать Server proxy settings

- Отметить параметр Enable proxy и нажать Применить в правой части окна

- Разместить в папке сайта web.config (ссылка для скачивания)
- Исправить в web.config адрес сайта в указанных местах (подставить адрес сайта заказчика вместо dev-vs)

- Создать переменные для URLRewrite:
- В IIS выбрать сайт, созданный в п.1
- Зайти в раздел Переопределение URL-адресов

- В правой части окна выбрать Просмотреть серверные переменные

- В правой части окна нажать Добавить

- Указать имя серверной переменной
HTTP_ACCEPT_ENCODING и нажать ОК
- Повторить действия из п.d-e указав имя переменной
HTTP_X_ORIGINAL_ACCEPT_ENCODING
- Должно получиться

- Перезапустить IIS командой
iisreset
Дополнительные статьи по теме:
Setting up IIS as Reverse Proxy for the .Net Core Kestrel Web Server [pdf]
IIS with URL Rewrite as a reverse proxy - part 2 – dealing with 500.52 status codes [pdf]
Настройка ограниченного делегирования Kerberos для прокси-страниц веб-регистрации [pdf]
Настройка Kerberos авторизации на сайте IIS [pdf]