image-20240420163459407

服务端获取客户端ip

1. 服务端获取客户端ip的方法

在服务端获取客户端ip的方法有多种,常用的方法包括:

  1. 通过HTTP请求头中的X-Forwarded-For字段获取客户端ip。
    image-20240420163459407

语法

X-Forwarded-For: <client>, <proxy1>, <proxy2>

ip

底层是通过socket的getpeername函数获取客户端的ip地址,然后将其放入HTTP请求头中,传递给服务端。
2. 通过HTTP请求头中的X-Real-IP字段获取客户端ip。没有相关标准

2. 正向代理和反向代理

正向代理和反向代理是两种常见的代理服务器架构,它们的区别主要体现在代理的方向和作用对象上。

  1. 正向代理

    • 正向代理是指代理服务器位于客户端和目标服务器之间,客户端通过正向代理服务器访问目标服务器。
    • 正向代理的作用是隐藏客户端的真实IP地址,保护客户端的隐私,绕过访问限制等。
    • 例如,客户端通过正向代理服务器访问外网,代理服务器会将客户端的请求转发给目标服务器,并将目标服务器的响应返回给客户端。
  2. 反向代理

    • 反向代理是指代理服务器位于目标服务器和客户端之间,客户端通过反向代理服务器访问目标服务器。
    • 反向代理的作用是隐藏目标服务器的真实IP地址,负载均衡,缓存加速等。
    • 例如,客户端通过反向代理服务器访问网站,代理服务器会将客户端的请求转发给后端的多台服务器,然后将响应返回给客户端。