Обратный прокси-сервер с IIS для linux docker контейнера - PullRequest
0 голосов
/ 15 апреля 2020

в нашей старой системе мы использовали nginx для выполнения правил обратного прокси для наших docker контейнеров, таких как бамбук, битбакет, портейнер и т. Д. c .., теперь мы переключились на windows srv 2019, и я пытаюсь настроить IIS, чтобы делать то же самое, что и nginx. После долгих прочтений различных постов об этом я не смог найти руководство, объясняющее, как правильно настроить IIS.

Может кто-нибудь описать или показать, что я сделал не так?

Цель состоит в том, чтобы привязать субдомены к нужному контейнеру

Например:

Домен: example.com -> переписать http в https -> привязать к docker container @ 172.17.0.1: 8080

Субдомен:

bamboo.example.com -> переписать http в https -> привязать к docker container @ 172.17.0.2: 8084

bitbucket.example.com -> переписать http на https -> привязать к docker container @ 172.17.0.3: 8085

mail.example.com -> переписать http на https -> перенаправить на (Exchange) owa

Что я сделал на данный момент:

Установлен WS2019, Exchange 2019 - работает нормально Установлен через Webplatform -> Перезапись URL-адресов и (Маршрутизация запросов приложений) ARR 3.0 (бета)

Настроен URL-адрес http для https Перезапись:

matches url : 
match -> reg pattern (.*) 

conditions :
{HTTPS} -> match pattern -> ^OFF$
{QUERY_STRING} -> does not match -> ^WIN-XXXXX (did this because Exchange management shell would be blocked otherwise)

action -> redirect -> https://{HTTP_HOST}{REQUEST_URI} -> 301

Это правило отлично работает.

Перезапись заголовка:

match -> reg pattern -> (.*)

conditions : 
{HTTPS} -> match pattern -> ON

Servervars : 
HTTP_X_FORWARDED_PROTO -> https -> True

action : none + enabled skip following rules
* 10 30 *

Бамбук Переписать:

match -> reg pattern -> ^bamboo.example.com

condition : none

servervars : none

action : Rewrite -> http://localhost:8084 
checked Skip following rules

IIS -> ARR - Server Proxy Setting :

Checked Enable Proxy
-> Pass through 
-> checked keep alive 
-> 120 sec timeout 
-> disabled Reverse rewrite host in response headers 
-> Custom Headers -> Preserve client IP in the follwing header : -> X-Forwared-For

Надеюсь, что кто-то может помочь мне там

наилучшие поздравления

...