У меня есть несколько веб-серверов в локальной сети с адресом http: //serv1.lan/, http: //serv2.lan/, и т.д.
Чтобы адресовать запросы извне LAN, запросы должны проходить через обратный прокси-сервер аутентификации, чтобы https://proxy.com/serv1/ быть переведенным на http: //serv1.lan/ и т.п.
Какие правила регулярных выражений необходимы для выполнения этого преобразования? Сервер аутентификации - это IIS, но прокси также может быть реализован в IsapiRewrite (синтаксис которого аналогичен Apache).
Я бы старался не переписывать адреса. Прокси-сервер должен уметь маршрутизировать адрес на основе полученного адреса хоста.
Если это разные сайты, используйте внешнюю схему именования, например serv1.example.com
, serv1.example.com
и т. д. Настройте аутентифицирующий прокси для прослушивания этих имен и передачи их на соответствующий сервер. Настройте серверы с соответствующими псевдонимами серверов.
Если вы хотите использовать регулярное выражение, вы, вероятно, захотите /(serv.)(.*)
который направится к http//$1.lan$2
.
Для микросервисов вы, вероятно, не захотите менять путь, поэтому вы должны направить http:/$1.lan/$1$2
предполагая, что имя сервера и контекстный путь совпадают.