Loading... 抱歉,很久没更新Blog。昨天夜里,某群友咨询关于通过大流量双栈服务器中转IPv6的网站流量,因之前实践过将联通的大内网单播源通过nginx中转为ipv4实现了其他运营商通过家庭公网宽带上行的访问,随口就把思路发在了群里。故而有了今天的分享。 实现的前提是中转设备需支持IPv4+IPv6双栈访问。原理很简单,来自互联网的客户端请求您的Nginx服务器,服务器收到IPv4请求后通过Nginx的代理来获取来自IPv6站点的资源然后发送给客户端。因服务器可访问IPv6资源,故而直接可以获取到来自IPv6站点的内容。 题外话:如果您使用的Nginx服务运行在Docker容器,则需要开启Docker容器的IPv6网络,详细内容请访问:[Enable IPv6 support | Docker Docs](https://docs.docker.com/config/daemon/ipv6/) ##### 下面我们来实现它: 为服务器安装Nginx服务: ``` sudo apt install nginx ``` 编辑您的nginx.conf文件: ``` sudo nano /etc/nginx/nginx.conf ``` 找到“http {”插入如下内容并保存: ``` include /etc/nginx/proxy.conf;#复制这一行插入“http {”的下方 ``` 在/etc/nginx/目录下创建“proxy.conf”文件写入如下内容并保存: ``` server { listen 80; server_name 192.168.0.2; #您的域名或服务器IP location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://[2409:8087:1e03:21::31]:6610; #您要代理的v6地址+端口 } } ``` 以上代码以上海移动为例,仅作演示。 接下来,重启Nginx服务。 ``` sudo nginx -s stop sudo nginx ``` 最后,我们就可以通过播放器访问 http://192.168.0.2/cms001/ch00000090990000001022/index.m3u8?IASHttpSessionId=OTT1606820231214093512000136 来观看节目了。 **需要注意的是:您要代理的IPv6地址必须是最终跳转后的地址。如跳转后的地址带有鉴权,通过IPv4地址访问的时也需要加上鉴权内容。否则不能成功。** 最后修改:2023 年 12 月 15 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 34 如果觉得我的文章对你有用,请随意赞赏
16 条评论
能推荐个能v4v6双栈访问的vps吗?
抱歉,本站目前不做推荐。
好奇请教一下, 为什么要用IPv6地址分发IPTV的源? 是为了更安全, 避免被封吗?
通过找IPTV源,认识了你,喜欢你这种技术大牛。
明明大佬,可以分享一个IP v4 的源嘛,万分感谢
OωO
没用过,下次试试
老师您好,我按照博客内容配置了nginx服务器,现在是V4无法播放,V6可以,请问下这个可能是哪里出问题了啊