127.0.0.1无法访问,需要输入用户名和密码的问题

来源:互联网 发布:mac系统怎么清理磁盘 编辑:程序博客网 时间:2024/04/29 19:48

在当输入http://127.0.0.1 时,一般机器都需要输入用户名和密码进入,这里将分两种情况:

一种是刚新建IIS的,为了测试IIS,所以此时访问即是系统盘/Inetpub/wwwroot”下的iisstart.asp,随之iisstart.asp又跳转到localstart.asp,并同时打开iishelp的。“localhost”计算机名都没问题,但输入127.0.0.1时,弹出对话框,需要输入帐户和密码。


 


第二种情况是,建立了虚拟目录,通过“localhost+虚拟目录计算机名+虚拟目录都能访问,同样是“127.0.0.1+虚拟目录不能访问。



虽然同是相同的症状,但却是不同的情况。

首先,先抛出第一条总的要诀:要使得输入http://127.0.0.1 能访问,无论直接访问,还是虚拟目录,必须确保匿名访问的打开。

那么现在就能快速解决第二种情况的问题,如下图的操作:打开IIS,在默认站点上右键,弹出菜单选择属性,打开面板,选择目录安全进行编辑,此时,如果匿名访问前没有勾选,选择勾选,确定就能解决这个问题。

此时访问 “127.0.0.1+虚拟目录的第二种已经解决



不过这个问题,遇到的人比较少,并且就这样简简单单的勾选了还不算回事,再往下看。

此时单独测试 127.0.0.1 虽然也没有了要求密码输入对话框,但新的问题出现了,同样,此刻输入http://localhost 同样的是如此的错误,这也就是很多人反馈的:


错误类型:
Microsoft VBScript
运行时错误 (0x800A0046)
没有权限: 'GetObject'
/localstart.asp,
40





那么现在就先停在这,分析下原因

开始没有匿名访问,需要提供帐户密码;现在有了匿名访问,则出现了错误。注意!这是针对直接 127.0.0.1 访问而言的。

那么匿名访问就是提供的帐户和密码,才使得“127.0.0.1+虚拟目录的问题得到解决,当然也解决了直接“127.0.0.1”访问的部分问题(不需要帐号密码了)

说明这个匿名帐户是有用的。

但现在要解决这个新出来的问题:Microsoft VBScript 运行时错误 (0x800A0046) 没有权限: 'GetObject'

通常被提供的方法是:单独对“iisstart.asp”“localstart.asp”取消匿名访问

等等,再好好看,我没有打错字

要解决“(0x800A0046) 没有权限: 'GetObject'”的方案是单独对这两个文件进行取消匿名访问

具体操作流程:在IIS中选择“localstart.asp”文件,右键,弹出菜单选择属性,打开面板,选择文件安全性进行编辑,取消匿名访问访问前的选择。



同样的操作流程对“iisstart.asp”再进行一般。

那么现在“http://localhost ”已经能访问,解决了Microsoft VBScript 运行时错误 (0x800A0046) 没有权限: 'GetObject'的问题。

到此,再来分析下:

1
,要使得127.0.0.1能访问必须要设置匿名访问
2
,要使得“iisstart.asp”“localstart.asp”能正常访问,必要要单独设置取消匿名访问

经过了如上设置后,localhostlocalhost+虚拟目录,127.0.0.1+虚拟目录都能正常访问,就剩下单独的 127.0.0.1 访问的情况,以上的分析似乎又是相矛盾的

那么,再来看看这匿名访问到底是个什么?

用户名是“BLUECOM/IUSR_BLUECOM”,密码是IIS控制的。其中“BLUECOM”是我这台机器的计算机名,各人是不同的。那么“IUSR_BLUECOM”就是“IUSR_计算机名了。

这个“IUSR_计算机名又是什么?它是一个“Internet来宾帐户,是匿名访问IIS的内置的帐户,他是属于“Guests”组的

这就又回到当使用该帐户时,localhost会显示“(0x800A0046) 没有权限,这似乎有点关系。



那么,我最终的比较完美的方案则是,全部采用匿名访问,确保所有的页面都能访问而没有密码输入框,同时,将匿名访问的帐户替换掉,不使用“IUSR_计算机名帐户,而是使用我的XP管理员登录帐号。

于是重头继续调整,打开IIS,在默认站点上右键,弹出菜单选择属性,打开面板,选择目录安全进行:

1
编辑
2
浏览用户
3
高级
4
查询用户
5
选择本机XP登录用户名
6
确定,一直确定到最后




另外,在更新的时候有一点很重要,就是要选择继承覆盖两个文件“iisstart.asp”“localstart.asp”,否则就需要单独把这两个文件的匿名访问重新加上,加上的帐号为刚才设置的XP登录帐号。