正文

IIS一些问题小结2009-07-13 22:11:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/xman/45173.html

分享到:

一.安装组件里没有IIS

添加/删除Windows组件里没有Internet信息服务(IIS)组件,按下文方案解决。

    首先在“开始”菜单的“运行”中输入“c:\Windows\inf\sysoc.inf”,系统会自动使用记事本打开sysoc.inf这个文件。在sysoc.inf中找到“[Components]”这一段,因为是XP简化版,所以里面东西很少,在里面加上这段:“iis=iis2.dll,OcEntry,iis2.inf,,7”。之后保存并关闭。

  因为是XP简化版,所以在下载的安装文件里也一定没有IIS的安装文件了,点击这里下载IIS安装文件。下载完后,解压到任意盘符的根目录下(最好是根目录,便于后面打命令)。比如我把压缩包解压到了D盘根目录下。

接下来,在运行中输入“CMD”然后回车,打开命令行模式,在命令行下输入下列的两条命令,在每一行命令结束后回车(假设光驱是D)

EXPand d:\iis51\iis.dl_ c:\Windows\system32\setup\iis2.dll

EXPand d:\iis51\iis.in_ c:\Windows\inf\iis2.inf

  注意如果你解压到了F盘就把上面的D改为F就可以了,其他同理。这时候,你打开控制面板->添加/删除Windows组件,就会发现,Internet信息服务(IIS)的安装选项已经出现在安装列表里了。

  之后的事情,就和平常安装IIS一样了,只不过,在安装的过程中会出现找不到文件的情况(这是正常的,因为你的IIS安装目录没在XP默认的目录下)。这时,你点吉浏览,选择你刚刚解压的目录就可以了,这种让你选择安装文件的现象共会出现3次,每次的目录都按上面说的步骤即可。

  不出意外,过一会,IIS就安装完成了,点击“完成”。但做到这一步还不算完。需要对IIS进行一些设置:从管理工具里打开“Internet服务管理器”

然后点“默认WEB站点”的右键,转到“目录安全性”选项卡,点“匿名访问和验证控制”的“编辑”按钮,回弹出匿名方法新窗口,再点击其中“匿名访问” 中的“编辑”按钮,将“允许IIS控制密码”全面的勾去掉,然后一路确定返回就可以了。至此XP简化版安装IIS5.1的步骤就全部完成了。

二.IIS无法访问ASP.NET站点(aspx网页)

安装IIS后,访问http://localhost/进入IIS欢迎界面。新建虚拟目录指向ASP.NET Web站点,访问http://localhost/Test1/Default.aspx出错:

==================================================================

无法显示 XML 页。

使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。


名称以无效字符开头。处理资源 'http://localhost/Test1/Default.aspx' 时出错。第 1 行,位置: 2

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
-^

=================================================================

这是因为没有启动安装ASP.NET服务,IIS无法支持基于ASP.NETWeb网站。

解决方案:确保已安装.NET Framework,如果没有则下载安装,然后在CMD中运行以下命令C:\windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i安装ASP.NET服务,使IIS支持基于ASP.NETWeb网站。

三.异机不能访问Web站点

本机(IP192.168.89.125)通过http://localhost/WebSite能够正确访问站点,但是在局域网其他机器上访问http://192.168.89.125/WebSite出错。

=================================================================

无法显示网页。找不到服务器或DNS错误。

=================================================================

解决方案:在Windows防火墙中设置TCP80端口例外。

四、HTTP错误

1HTTP-401.1 错误

症状HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。

分析:由于用户匿名访问使用的账号(默认是IUSR_机器名)被禁用,或者没有权限访问计算机,将造成用户无法访问。

解决方案

1)查看IIS管理器中站点安全设置的匿名帐户是否被禁用,如果是,请尝试用以下办法启用:

控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。如果还没有解决,请继续下一步。

2)查看本地安全策略中,IIS管理器中站点的默认匿名访问帐号或者其所属的组是否有通过网络访问服务器的权限,如果没有尝试用以下步骤赋予权限:

开始->程序->管理工具->本地安全策略->安全策略->本地策略->用户权限分配,双击“从网络访问此计算机”,添加IIS默认用户或者其所属的组。

注意:一般自定义 IIS默认匿名访问帐号都属于组,为了安全,没有特殊需要,请遵循此规则。结果问题依然存在,我分析完了所以可能出现的问题,还是不行,我觉得这个是共享的东西,必须把我的共享装一下,因为我的机器是刚装的系统,所以我装了一下共享,结果如我所愿,终于搞定了,不再出现那个401了。

3)同步IUSR_IWAM_账户密码。

2HTTP-401.2 错误

症状HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。

分析:关闭了匿名身份验证

解决方案

运行inetmgr,打开站点属性->目录安全性->身份验证和访问控制->选中“启用匿名访问”,输入用户名,或者点击“浏览”选择合法的用户,并两次输入密码后确定。

3HTTP-401.3 错误

症状HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
分析IIS匿名用户一般属于Guests组,而我们一般把存放网站的硬盘的权限只分配给administrators组,这时候按照继承原则,网站文件夹也只有administrators组的成员才能访问,导致IIS匿名用户访问该文件的NTFS权限不足,从而导致页面无法访问。
解决方案

IIS匿名用户访问网站文件夹的权限,方法:进入该文件夹的安全选项,添加IIS匿名用户,并赋予相应权限,一般是读、写。最后的办法 修改IE的安全级别    自定义级别把用户验证 改为 自动使用当前用户名和密码登陆。

如果是创建虚拟目录指向另一台计算机上的共享时,很可能是没有配置“网络目录安全凭据”。点击网络目录后面的“连接用户”指定访问共享机的账户密码。

4HTTP-500 内部服务器错误

解决方案:

    首先考虑同步IUSR_IWAM_账户密码,计算机管理à本地用户和组à用户,分别右键IUSR_IWAM_账户设置相同的密码,然后进入IIS默认网站属性的“目录安全性”中,编辑“匿名访问和身份验证控制”,勾选“匿名访问”,去掉“允许IIS控制密码”,然后在密码中填写刚才设置的IUSR_IWAM_账户密码。

    如果以上还未解决,在CMD控制台中运行以下命令重装重启分布式传输协调程序。

    net stop msdtc

msdtc -uninstall

msdtc -install

net start msdtc

这时,若访问http://localhost/出错,但是可以访问创建的虚拟目录站点,执行“msdtc -resetlog”重置DTC事务日志试试,重启IIS试试。如果还不行,卸载重新安装IIS

 

参考

同步IWAM和IUSR账户解决HTTP-500错误

《添加组件里没有Internet信息服务的解决方法》

http://hi.baidu.com/520web/blog/item/0c04718df2668316b31bba7a.html

HTTP 错误 401.1 - 未授权:登录失败》

http://hi.baidu.com/swordge/blog/item/af00a3259ae51823d5074279.html

MSDTC不能启动的几个解决方法》

http://blog.csdn.net/xsm545/archive/2008/12/31/3663998.aspx

阅读(4210) | 评论(3)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册