我一直在Windows Server 2003上使用ISA来发布托pipe在同一台机器上的多个Web服务器。 设置如下:
我可以通过在ISA中设置发布规则,根据主机名将请求路由到特定的服务器。 ISA允许我保留原来的客户端IP和请求的主机名,还有许多其他function,如请求validation,URL映射和重写和caching。
现在我在Windows Server 2008 R2上,ISA在这里不起作用,TMG是一个巨大的PITA(甚至根本不用我的IP设置 – 默认gw 10.255.255.1,子网掩码255.255.255.255),以及通常certificateISA在RPC和其他内部networkingstream量方面是困难的。 所以我正在寻找一种方法来做同样的事情,特别是在保留原来的客户端IP的时候。 我试过Faststream IQ Proxy,看起来很有希望,尤其是因为它安装了自己的NDIS驱动程序,服务器发布工作正常,但客户端IP总是丢失。 代表和Squid可能是候选人。 但他们没有安装任何networking层驱动程序,所以他们似乎不可能保留原始IP。
我目前正在外部IP和127.0.0.1上运行IIS,并使用带有反向代理的ARP来发布其他服务器,但是它不能正常工作,而代理服务器的客户端IP仍然丢失。 说实话,这是糟糕的,我真的很抱歉,IIS 7.5仍然不包括像ISA那样的可行的反向代理解决scheme。
有没有人知道一个软件,像ISA存档相同的Web服务器发布效果,最好有一个像样的graphics用户界面(我也可以住在configuration文件虽然),反向代理请求本地Web服务器,而不会丢失主机名信息和原来的客户端IP ? 或者我注定要让TMG在我的设置中工作?
您可能不需要在实际的TCP报头中保留原始IP。 许多反向代理设置将允许将请求的原始IP地址作为HTTP标头传递。 (参见例如: squidconfiguration指令forwarded_for 。)
与mod_proxy的Apache也将做的伎俩,还将为反向代理stream量添加X-Forwarded-For头。 这可能很方便,因为您已经在机器上运行了Apache。
只是为了logging,TMG可以安装一些技巧:
安装Microsoft环回适配器(hdwwiz)
为回环适配器设置专用IP范围内的静态地址(例如,10.0.0.1/255.0.0.0,无默认GW),并在适配器的TCP / IP设置中禁用DNS注册
安装TMG
将TMG升级到SP1或使用引导安装
可选:升级到DC / RODC
可选:如果服务器是DNS,请将“真实”适配器添加为HKLM \ SYSTEM \ CurrentControlSet \ Services \ DNS \ Parameters \ PublishAddresses,这样专用地址将不会被发布
将netsh http iplisten绑定到127.0.0.1和10.0.0.1
使用TMG中的服务器发布规则来发布10.0.0.1
在回送适配器上注册额外的地址,并将您的应用程序绑定到地址(10.0.0.2,10.0.0.3等),以便您可以将其发布到TMG
不像ISA那样stream畅,但是起作用。 在升级到DC之前,请务必安装TMG,因为Microsoft不支持在DC上安装TMG