Javascript 当客户端支持双栈ipv4+;时获取用户ipv4;ipv6

Javascript 当客户端支持双栈ipv4+;时获取用户ipv4;ipv6,javascript,nginx,ipv6,ipv4,Javascript,Nginx,Ipv6,Ipv4,因此,我有一个使用php的NGINX web服务器,我需要一种方法,强制所有客户端通过IPv4连接,如果它们具有双栈IPv4+IPv6,并且如果它们只支持IPv6或IPv4,仍然能够连接 我该怎么办 如果不可能,我是否可以使用java脚本获取客户端的IPv4(通过IPv6连接时)并将其发布到url?您无法控制客户端行为,将客户端推到特定IP地址是个坏主意。客户机甚至可能在单个会话中更改协议。要么是因为他们的移动设备连接到不同的网络,要么是因为浏览器如何实现快乐眼球标准。有太多不同的技术被用于将用

因此,我有一个使用php的NGINX web服务器,我需要一种方法,强制所有客户端通过IPv4连接,如果它们具有双栈IPv4+IPv6,并且如果它们只支持IPv6或IPv4,仍然能够连接

我该怎么办


如果不可能,我是否可以使用java脚本获取客户端的IPv4(通过IPv6连接时)并将其发布到url?

您无法控制客户端行为,将客户端推到特定IP地址是个坏主意。客户机甚至可能在单个会话中更改协议。要么是因为他们的移动设备连接到不同的网络,要么是因为浏览器如何实现快乐眼球标准。有太多不同的技术被用于将用户连接到IPv4和IPv6 Internet,因此,对他们选择的技术进行二次猜测将以眼泪告终


只要让您的服务在两个协议上都可以访问,并实现它,这样协议就不重要了。这是唯一可持续的解决方案。

要获取用户的IPv4地址,让嵌入式JavaScript脚本查询只有IPv4才能访问的内容。脚本可以检查此请求是否有效

…但你真的应该想很多次,这才是你真正想要做的。为什么不让您的用户使用IPv6