访问127.0.0.1拒绝了访问请求

最近部署一个新网站时候遇到了一个问题
自己拒绝了自己
(环境是apache+php+MYSQL的环境)

127.0.0.1检查了一下发现是可以ping通的

百度了很多办法其中有修改hosts文件或者修改阿帕奇里的conf配置文件但都没有效果,后来发现了一个情况ping localhost时,他显示的不是127.0.0.1

在cmd中ping localhost解析出来的是IPV6的::1的原因是windows中有解析列表,当ipv6的优先级高于ipv4时,就会遇到这类问题,

今天介绍两种方法:

第一种:修改注册表的方法

第一步:

打开RegEdit

第二步:

导航到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ tcpip6 \ Parameters

第三步:

创建DisabledComponents DWORD注册表值,将其值设置为20(十六进制)

第四步:

重启电脑

第二种方法:修改ipv6和ipv4的优先级

第一步:在管理员权限模式下打开cmd

第二步:查询ipv6的优先级顺序
netsh interface ipv6 show prefixpolicies

第三步:问题的原因是IPV6(:: / 0)的优先级高于IPV4(:: / 96,:: FFFF:0:0/96)因此可以修改标签使ipv6比ipv4低,指令中标签表示优先级,0表示优先级最高,依次类推。

设置使::/96、::ffff:0:0/96的优先级高于::/0和::1/128,在命令行中依次设置优先级:

代码如下:

netsh int ipv6 set prefix ::/96 50 0 netsh int ipv6 set prefix ::ffff:0:0/96 40 1 netsh int ipv6 set prefix 2002::/16 35 2 netsh int ipv6 set prefix 2001::/32 30 3 netsh int ipv6 set prefix ::1/128 10 4 netsh int ipv6 set prefix ::/0 5 5 netsh int ipv6 set prefix fc00::/7 3 13 netsh int ipv6 set prefix fec0::/10 1 11 netsh int ipv6 set prefix 3ffe::/16 1 12 

此时查询ipv6的优先级低于ipv4,ping一下localhost试试

ok

相关推荐

发表评论

路人甲

网友评论(0)