「HTTP」- 与反向代理有关的头部(学习笔记) @20210215

问题描述

在配置 Nginx 反向代理时,我们经常被 X-REAL-IP、X-Forwarded-For 等等头部,搞得晕头转向。再比如,在多层反向代理环境中,传递客户端真实网络地址的问题。

该笔记将记录:学习与 HTTP 反向代理有关的头部。

解决方案

Forwarded

透露“通过代理连接服务器的”客户端的原始信息。

例如:Forwarded: for=192.0.2.60;proto=http;by=203.0.113.43

X-Forwarded-For

标识“通过代理或者负载均衡连接到服务器的”客户端原始网络地址。(被 Forwarded 标头取代,但依旧在使用)

例如:X-Forwarded-For: client1, proxy1, proxy2 / X-Forwarded-For: 129.78.138.66, 129.78.64.103

X-Forwarded-Host

标识客户端请求的原始主机(头部 Host 字段)。因为代理或者负载均衡可能使用不同的主机,比如多级代理转发。(被 Forwarded 标头取代,但依旧在使用)

例如:X-Forwarded-Host: en.wikipedia.org:8080 / X-Forwarded-Host: en.wikipedia.org

X-Forwarded-Proto

标识客户端请求的原始协议,因为代理服务器可能用 HTTP 请求目标服务器,即使原始请求使用 HTTPS 协议。(被 Forwarded 标头取代,但依旧在使用)

例如:X-Forwarded-Proto: https

Max-Forwards

限制消息可通过代理转发的最大次数。

例如:Max-Forwards: 10

X-REAL-IP

在 RFC 中,我们没有看到 X-REAL-IP 头部的说明,但是其他文档中提到,该字段记录客户端的真实网络地址。

例如:X-Real-IP: 192.168.0.10

相关链接

在 Nginx 中,调试并获取客户端真实地址

参考文献

List of HTTP header fields
HTTP "X-" Headers
Is sending "X-Real-IP" and "X-Forwarded-For" necessary for an Nginx cache running on LAN? - Server Fault

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值