我在局域网中有几个 Web 服务器,可寻址为http://serv1.lan/,http://serv2.lan/, ETC。
为了从 LAN 外部进行寻址,请求需要通过身份验证反向代理,以便https://proxy.com/serv1/被翻译成http://serv1.lan/ETC。
实现此转换所需的正则表达式规则是什么?身份验证服务器是 IIS,但代理也可以在 IsapiRewrite(其语法与 Apache 类似)中实现。
答案1
我会尽量避免重写地址。代理应该能够根据收到的主机地址完美地路由地址。
如果这些是不同的站点,请使用外部命名方案,如serv1.example.com
、serv1.example.com
等。配置身份验证代理以侦听这些名称并将它们代理到适当的服务器。使用适当的服务器别名配置服务器。
如果您想使用正则表达式,那么您很可能希望/(serv.)(.*)
将其路由到http//$1.lan$2
。
对于微服务,您可能不想更改路径,因此您可以http:/$1.lan/$1$2
假设服务器名称和上下文路径相同。