win7系统localhost和127.0.0.1都不能访问本机的IIS网站,为何?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win7系统localhost和127.0.0.1都不能访问本机的IIS网站,为何?相关的知识,希望对你有一定的参考价值。

使用本机内网ip、外网ip、域名都可以正常访问该机iis网站
但是使用localhost和127.0.0.1却不能访问。ping localhost和127.0.0.1都是通的,什么问题?
C:\Users\Administrator>ping localhost

正在 Ping forever-win7 [::1] 具有 32 字节的数据:
来自 ::1 的回复: 时间<1ms
来自 ::1 的回复: 时间<1ms
来自 ::1 的回复: 时间<1ms
来自 ::1 的回复: 时间<1ms

::1 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms

C:\Users\Administrator>ping 127.0.0.1

正在 Ping 127.0.0.1 具有 32 字节的数据:
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=128

127.0.0.1 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms

参考技术A IIS的服务启动了吗?还有网站是启动还是停止的追问

第一句话:
”使用本机内网ip、外网ip、域名都可以正常访问该机iis网站“
都已经能正常访问了,还能是停止么……

追答

①Hosts文件受损
  解决办法就是先修复这个文件!
  ②查看IIS默认网站的默认首页是否已经设置好
  有的网站是ASP的,有的是php的,有的是ASP.NET的,请根据类型设置好首页!
  ③IIS属性未设置好
  首先打开IIS,之后找到“默认网站”,点击右键执行“属性”,弹出如下图的对话框,切换到“网站”选项卡,IP地址那地方,设置为“(全部未分配)”;然后切换到“目录安全性”选项卡,在“身份验证和访问控制”那里,点击“编辑”,弹出的对话框,将“启用匿名访问”前面的√打上。到此结束,已经够解决问题了!

本回答被提问者采纳

WIN2012/WIN2016/WIN2019的localhost解析地址为::1解决办法

问题如图所示:

技术图片
 
在cmd中ping localhost解析出来的是IPV6的::1,原因是windows有个优先解析列表,当ipv6的优先级高于ipv4时,就会出现这种情况。网上有一种方法是修改注册表的,具体方法为:打开RegEdit,导航到HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services tcpip6 Parameters, 创建DisabledComponents DWORD注册表值,将其值设置为20(十六进制),然后重启电脑。这种方法我试了,还是没能解决。
 
我用的是修改优先级的方法解决的,即修改ipv4优先级高于ipv6的记录到优先解析表中。具体方法如下:
 
1.命令提示符(管理员)(A)     (就用是管理员权限打开cmd)
2.输入命令  netsh interface ipv6 show prefixpolicies,查询ipv6优先级
技术图片
请注意,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
 
技术图片
 
完了后输入命令netsh interface ipv6 show prefixpolicies查看优先级:
 
技术图片
 
可以看到,此时:: / 96,:: ffff:0:0/96优先级高于::/0了。ping一下localhost
技术图片

以上是关于win7系统localhost和127.0.0.1都不能访问本机的IIS网站,为何?的主要内容,如果未能解决你的问题,请参考以下文章

localhost 和 127.0.0.1

mysql 中的数据库进不去了 我是win7系统 host里面有 回环地址的

localhost 和 127.0.0.1 的区别

localhost,127.0.0.1 和 本机IP 三者的区别

WIN2008 R2 64位 系统下的PhpStudy 安装的apache 环境下 localhost 和127.0.0.1 拒绝访问错误403

Windows 主机中localhost与127.0.0.1的区别