服务端获取客户端ip以及正向代理和反向代理
服务端获取客户端ip
1. 服务端获取客户端ip的方法
在服务端获取客户端ip的方法有多种,常用的方法包括:
- 通过HTTP请求头中的
X-Forwarded-For
字段获取客户端ip。
语法
X-Forwarded-For: <client>, <proxy1>, <proxy2>
底层是通过socket的getpeername函数获取客户端的ip地址,然后将其放入HTTP请求头中,传递给服务端。
2. 通过HTTP请求头中的X-Real-IP
字段获取客户端ip。没有相关标准
2. 正向代理和反向代理
正向代理和反向代理是两种常见的代理服务器架构,它们的区别主要体现在代理的方向和作用对象上。
正向代理
- 正向代理是指代理服务器位于客户端和目标服务器之间,客户端通过正向代理服务器访问目标服务器。
- 正向代理的作用是隐藏客户端的真实IP地址,保护客户端的隐私,绕过访问限制等。
- 例如,客户端通过正向代理服务器访问外网,代理服务器会将客户端的请求转发给目标服务器,并将目标服务器的响应返回给客户端。
反向代理
- 反向代理是指代理服务器位于目标服务器和客户端之间,客户端通过反向代理服务器访问目标服务器。
- 反向代理的作用是隐藏目标服务器的真实IP地址,负载均衡,缓存加速等。
- 例如,客户端通过反向代理服务器访问网站,代理服务器会将客户端的请求转发给后端的多台服务器,然后将响应返回给客户端。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Haostart 的个人站点!
评论