问答

nginx中配置的X-Forwared-For拿到的是真实IP还是NAT转换后的外网

作者:admin 2021-06-21 我要评论

现在运营商用NAT技术转换了IP,那X-Forward-For中拿到的是客户端真实的内网IP还是出口网关的外网IP, 还是都记录到了? ### X-Forward-For 一般会都记录的,但也可...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

现在运营商用NAT技术转换了IP,那X-Forward-For中拿到的是客户端真实的内网IP还是出口网关的外网IP, 还是都记录到了?

###

X-Forward-For 一般会都记录的,但也可能是伪造的。
引一段 aws 的文档

客户端IP地址

如果查看者向CloudFront发送请求并且不包含 X-Forwarded-For请求标头,则CloudFront从TCP连接获取查看者的IP地址,添加X-Forwarded-For包含IP地址的标头,然后将请求转发到源。例如,如果CloudFront 192.0.2.2从TCP连接获取IP地址 ,则它将以下标头转发到源:

X-Forwarded-For: 192.0.2.2

如果查看者将请求发送到CloudFront并包括X-Forwarded-For 请求标头,则CloudFront将从TCP连接获取查看者的IP地址,将其附加到X-Forwarded-For标头的末尾,然后将请求转发到源。例如,如果查看器请求包括X-Forwarded-For: 192.0.2.4,192.0.2.3并且CloudFront 192.0.2.2从TCP连接获取IP地址,则它将以下标头转发到源:

X-Forwarded-For: 192.0.2.4,192.0.2.3,192.0.2.2

某些应用程序(例如负载平衡器(包括Elastic Load Balancing),Web应用程序防火墙,反向代理,入侵防御系统和API网关)会将转发请求的CloudFront边缘服务器的IP地址附加到X-Forwarded-For标头的末尾。例如,如果CloudFront包括 X-Forwarded-For: 192.0.2.2 在将其转发到ELB的请求中,如果CloudFront边缘服务器的IP地址是192.0.2.199,则您的EC2实例收到的请求包含以下标头:

X-Forwarded-For: 192.0.2.2,192.0.2.199

注意

X-Forwarded-For标头包含IPv4地址(如192.0.2.44)和IPv6地址(如2001:0db8:85a3:0000:0000:8a2e:0370:7334)。

更多参见:

https://docs.aws.amazon.com/A...

###

出口网关的外网 IP

###

肯定是出口的IP了,用户的内网地址在公网上是不能被识别的,比如:你的电脑IP192.168.1.10 ,这个在公网上无法被记录的。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • nginx中配置的X-Forwared-For拿到的是

    nginx中配置的X-Forwared-For拿到的是

  • 请问vue怎么直接点击buttom弹出先窗口

    请问vue怎么直接点击buttom弹出先窗口

  • C语言什么时候用malloc获取动态内存?

    C语言什么时候用malloc获取动态内存?

  • Flink webui中不显示日志和输出

    Flink webui中不显示日志和输出

腾讯云代理商
海外云服务器