win11 已经搭建好的环境突然全部nginx502,127.0.01拒绝访问
nginx日志如下 无法连接fastcgi9000端口
connect() failed (10061: No connection could be made because the target machine actively refused it) while connecting to upstream, client: 127.0.0.1, server:
出现这种情况时,打开cmd,在cmd中 ping 127.0.0.1 会出现下图情况。
ping 解析出来的是IPV6的::1,原因是windows有个优先解析列表,当ipv6的优先级高于ipv4时,就会出现这种情况。
解决办法:修改优先解析表让ipv4优先级高于ipv6的记录。方法如下:
-
win+x---->Windows PowerShell(管理员)(A)
-
输入命令 ***sh interface ipv6 show prefixpolicies,查询ipv6优先级
这是是正常的优先级 -
依次逐行复制下面命令执行,调整顺序
- ***sh int ipv6 set prefix ::/96 50 0
- ***sh int ipv6 set prefix ::ffff:0:0/96 40 1
- ***sh int ipv6 set prefix 2001::/32 30 3
- ***sh int ipv6 set prefix ::1/128 10 4
- ***sh int ipv6 set prefix ::/0 5 5
-
调整后执行 ***sh interface ipv6 show prefixpolicies 检查一下
-
重启电脑
之前用得好好的,突然就502了,我怀疑是win11更新导致的,
在Windows Vista中,以及在Windows 7,Windows 8和Windows 10中,Windows操作系统更喜欢IPv6协议,该协议优先于常用的标准IPv4协议。因此,对同一网络、VLAN 或子网甚至本地主机上的远程主机执行 ping 操作可能会返回 IPv6 样式的 IP 地址。
一些程序或应用程序可能无法使用 IPv6 地址,但无法强制使用 IPv4 地址,从而导致其正常运行出现问题和问题。
在这种情况下,可以更改 Inter*** 协议的 Windows 首选项,即通过增加 IPv4 相对于 IPv6 协议的优先级,以便 IPv4 始终优先于 IPv6。这样做不会禁用 IPv6,而是允许 IPv6 协议继续运行。