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