我之前使用下面的代码通过asp.net获取客户端ip,但是在移至VDS之后,此函数仅返回我的子网掩码178.18.198.1或178.18.198.2。
谁能帮我解决这个问题?
Private Function GetIPAddress() As String
Dim sIPAddress As String = Nothing
sIPAddress = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If String.IsNullOrEmpty(sIPAddress) Then
sIPAddress = Request.ServerVariables("REMOTE_ADDR")
End If
Return sIPAddress
End Function
编辑
发现了类似的问题here:
我还找到了ISAPI筛选器模块,但无法使其工作:devcentral.f5.com/x_forwarded_for_log_filter_for_windows_servers
最佳答案
通过在源代码文件中使用HTTP_CLIENT_IP而不是REMOTE_ADDR解决了问题。
通过安装IISt推荐的here解决了有关IIS日志的问题。另外,在安装“高级日志记录”后,我得到了错误“503:服务不可用”,但通过为Program Files\IIS文件夹授予Everyone读写权限并启动了失败的应用程序池,解决了此问题。
http://kb.parallels.com/6735
建议的另一种解决方案here是: