带有WCF和X转发标头的AWS ELB

时间:2011-09-20 18:08:47

标签: wcf iis amazon-web-services

我的最终目标是在IIS日志文件中查看客户端的外部IP地址,以便进行报告/故障排除。

我们在Elastic Load Balancer后面的EC2实例上运行WCF应用程序。我在IIS中安装了F5 ISAPI DLL。负载均衡器设置为使用HTTPS(443)转发到HTTPS(443)。 ELB上托管有效证书,IIS上有自签名证书。

在这种情况下,如果我访问https://mysite/test.html等页面,IIS日志将包含外部IP地址。但是当我访问https://mysite/wcfapplication/test.aspx时,IIS日志包含ELB的内部IP地址。

亚马逊称这是该应用程序的一个问题。该团队在确定WCF配置中要更改的内容时遇到问题。有没有人遇到过这种情况并找到了修复/解决方法?

1 个答案:

答案 0 :(得分:3)

原因在于,当您使用Load Balancer时,它会传递数据,并且请求的IP地址将变为负载均衡器的IP地址。用户的实际IP地址记录在“x-forwarded-for”服务器变量中。

在IIS中,您需要使用第三方ISAPI过滤器来记录该值,当它在请求中找到时,这将使事情有效。

有一些,这是由guy from F5创建的 - 或者来自Microsoft IIS team的成员。