浏览 7.8k
我的场景:nginx代理上同时启用ipv6和ipv4,想实现双栈协议同时运行,支持ipv4的用户走ipv4网络,ipv6用户走ipv6的网路。上游服务器也同时支持IPV6和ipv4。
我的问题:如何在代理上配置,对ipv4网络来的访问,转发到上游服务器监听的的pv4地址上;对ipv6网络来的访问,转发到上游服务器监听的ipv6地址上。如果能实现不管是IPV4,IPV6网络来的访问,都转发到上游服务器ipv4的监听地址上就更好。网上所谓的ipv6反向代理IPV4网站测试都不行。

按点赞数排序
按时间排序
1. Nginx要开启不同的server,用listen ipv4与ipv6区分开下游过来的ipv4包和ipv6包;
2. 对于ipv4,upstream中的server配置ipv4地址,对于ipv6,则配置ipv6地址。
0
回答于2021-05-19 11:17
这个我理解IPv4和IPv6关于 transparent 的设置上是没有区别的,只是需要注意的是,IPv6的IP透传需要glibc版本达到一定的条件,我记得是glibc 2.26以上才支持。
查看命令 rpm -aq | grep glibc
然后配合路由表设置,在连路上抓包可看到真实的client ipv6地址,可以根据这个帖子 实际测一下,亲测有效,测试转发成功了 https://www.nginx.org.cn/article/detail/76
微信公众号
加入微信群