通过HTTPS获取HAProxy后面的IIS服务器上的客户端IP地址

我们正在设置两台IIS服务器,在运行HAProxy的服务器后面进行负载平衡。

所有到这些服务器的stream量将通过HTTPS。

我们注意到的问题是,所有的stream量正在从HAProxy服务器IPlogin到IIS服务器上。 虽然这在技术上是正确的,但我试图找出如何在IIS服务器上“查看”原始客户端IP地址以进行logging。

我们在HAProxy和IIS上安装了X-Forwarded-For (通过安装F5的X-Forwarded-For ISAPIfilter ),但是这似乎只能帮助通过HTTP进行stream量。 HTTPS仍被logging为来自HAProxy服务器。

谢谢你的帮助!

这是代理人的“正常”副作用。 你应该有匹配的代理对应的日志。

这听起来像你有正确的解决scheme的HTTP。 我会检查HAProxy,以确保它卸载SSL正确。 如果它通过未触及的请求传递,它不能添加X-Forwarded-For头。 但是,如果卸载它,那么它应该将HAProxy的请求作为HTTP发送(确保它是可信的交换networking)。 然后它可以添加必要的HTTP头,包括一些SSL HTTP头。

除了Scott的说明(我还不能评论,不好意思),HAProxy在卸载SSL后不能重新encryption连接吗? 我们使用ARR,在卸载后将原始客户端IP放在X-Forwarded-For中,然后再次将其作为SSL发送。 然后,我们使用ARR Helper工具将X-Forwarded-For放回到客户端IP中,以便在日志中很好地显示。

所以基本上,SSL是客户端和Web服务器之间的整个连接,除了解密,插入客户端IP以及在通过ARR时encryption。 所以问题是,HAProxy可以做同样的事情吗?