内容简介:在生产环境中,客户端请求通常不会与服务端直连,中间往往经过若干代理、负载均衡服务器,所以基于 TCP 层面拿到的如果一个请求在到达服务端之前经过了若干代理,每个遵守相同规范的代理都会追加
在生产环境中,客户端请求通常不会与服务端直连,中间往往经过若干代理、负载均衡服务器,所以基于 TCP 层面拿到的 remote_address
将是这个链路中离服务端最近设备的 IP(这个 IP 无法伪造,否则三次握手无法成功)。所以需要有一种方式能获取到客户端真实 IP。
X-Forwarded-For
的出现便是为了解决这一问题,这个扩展头部不是HTTP/1.1(RFC2616)定义的。在 RFC7239
中,推出了 Forwarded
用于替换已经成为既定标准的前者。
如果一个请求在到达服务端之前经过了若干代理,每个遵守相同规范的代理都会追加 remote_address
到 X-Forwarded-For
字段中,从而使服务端可以拿到客户端的真实 IP。
由于请求头部信息可以伪造,所以通过这个方式拿到的值并不一定可靠。尤其是服务端直接对外提供服务的,只能通过 remote_address
获取 IP。
在 Express 中,可以通过设置 trust proxy
来开启 X-Forwarded-For
受信。
参考
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
构建高可用Linux服务器
余洪春 / 机械工业出版社华章公司 / 2011-11-1 / 79.00元
资深Linux/Unix系统管理专家兼架构师多年一线工作经验结晶,51CTO和ChinaUnix等知名社区联袂推荐。结合实际生产环境,从Linux虚拟化、集群、服务器故障诊断与排除、系统安全性等多角度阐述构建高可用Linux服务器的最佳实践。本书实践性非常强,包含大量企业级的应用案例及相应的解决方案,读者可以直接用这些方案解决在实际工作中遇到的问题。 全书一共10章。第1章以作者的项目实践为......一起来看看 《构建高可用Linux服务器》 这本书的介绍吧!