Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#:在ProxyPass之后获取客户端IP_C#_Apache_Ip Address_Ip_Forward - Fatal编程技术网

C#:在ProxyPass之后获取客户端IP

C#:在ProxyPass之后获取客户端IP,c#,apache,ip-address,ip,forward,C#,Apache,Ip Address,Ip,Forward,我的ASP.NET应用程序检查调用客户端的IP 但我必须将其托管在Linux机箱中,Apache会将其重定向到运行IIS的内部Windows 2003服务器,如: ProxyPass/srs 其中192.168.21.15是Windows服务器的内部IP,192.168.21.1是从internet获取请求的Linux机箱的内部IP 现在,在我看来,从互联网转发到w.x.y.15的请求似乎都来自w.x.y.1 如何保留(或转发)原始IP 我听说X-for。。。但是如何在C#中检索这个值呢 谢谢,

我的ASP.NET应用程序检查调用客户端的IP

但我必须将其托管在Linux机箱中,Apache会将其重定向到运行IIS的内部Windows 2003服务器,如:

ProxyPass/srs

其中192.168.21.15是Windows服务器的内部IP,192.168.21.1是从internet获取请求的Linux机箱的内部IP

现在,在我看来,从互联网转发到w.x.y.15的请求似乎都来自w.x.y.1

如何保留(或转发)原始IP

我听说X-for。。。但是如何在C#中检索这个值呢

谢谢,,
Reinhard

通常,如果代理服务器修改IP地址信息,则原始IP地址存储在HTTP_X_FORWARDED_FOR server变量中。要使用C在ASP.NET中访问此文件,您可以使用:

Request.ServerVariables["HTTP_X_FORWARDED_FOR"]

对于java候选者,您可以使用:

String ipAddress=request.getHeader("X-Forwarded-For");
如果要使用
request.getRemoteAddr()
,则如果部署服务器上存在Apache重定向,则可能会返回
127.0.0.1