Skip to content

TCP防御获取客户端真实IP

proxy protocol协议

proxy protocol协议开启

控制台选择【四层代理】下【proxy_protocl协议】,选择需要获取真实ip的端口,点击配置,在配置里边启用代理协议。如下图:

注:代理协议默认为禁用状态。开启后显示为启用,同一个套餐下启用了,所有端口都要一起启用。

源站配置

在源站配置端口后面添加 proxy_protocol 。(nginx 版本不要低于 1.9.10)

nginx配置示例:

server {
  listen 443 ssl proxy_protocol http2;
  server_name _;
}
server {
  listen 80 proxy_protocol;
  server_name _;
}

修改log_format 添加 $proxy_protocol_addr

http {
  log_format main '$proxy_protocol_addr $remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';
}

重启nginx生效,完成配置。

注意事项:

当源服务器配置上proxy_protocol协议后,这个源服务器的此端口只能接收本节点发送过来数据,节点跟源服务器都需要支持这个协议。