我是靠谱客的博主 平淡西牛,最近开发中收集的这篇文章主要介绍Nginx支持ipv4和ipv6的ip透传功能,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

透明的代理服务器在将用户的访问请求转发到下一环节的服务器时,会在HTTP的请求头中添加一条X-Forwarded-For记录,用于记录用户的真实IP,其记录格式为X-Forwarded-For:用户IP。如果期间经历多个代理服务器,则X-Forwarded-For将以该格式记录用户真实IP和所经过的代理服务器IP:
X-Forwarded-For:用户IP, 代理服务器1-IP, 代理服务器2-IP, 代理服务器3-IP, ……。

nginx的配置
server {
    listen 121.46.27.151:909;
    server_name aaa;
    keepalive_timeout 70s;
    location / {
      proxy_pass http://test039_pool;
      proxy_set_header Host $host:$server_port;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;----Ip透传配置项
    }
  }
  upstream test039_pool {
    server 10.110.31.21:8080 weight=20;
  }

ngin的ipv4和ipv6的ip透传都只需要加这一行便可以实现:
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

抓包查看

在这里插入图片描述
在配置的后端server节点上抓包

tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

最后

以上就是平淡西牛为你收集整理的Nginx支持ipv4和ipv6的ip透传功能的全部内容,希望文章能够帮你解决Nginx支持ipv4和ipv6的ip透传功能所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部