IIS(Internet Information Services)是微软提供的Web服务器软件,广泛应用于Windows操作系统中,在发布站点时,有时会遇到访问时需要输入用户名和密码的问题,这不仅影响了用户体验,还可能限制了网站的访问量,本文将深入探讨这一问题的原因及解决方案,并附上常见问题解答,以帮助用户更好地理解和解决这一故障。
故障描述
在IIS下发布了某个站点某些页面文件,通过IIS里面的浏览功能查看页面能够顺利访问里面的内容,设定一个1.htm文件,通过http://localhost/1.htm可以正常访问,但当在其他计算机或更改本机访问地址为自身IP后(例如58.129.1.80/1.htm),却出现了一个要求输入用户名和密码的对话框。
故障分析
2.1 账户问题
安装IIS组件服务后,系统中会自动添加两个帐户:一个是IUSER_计算机名(internet来宾帐户),另一个是IWAM_计算机名(启动IIS进程帐户),平时访问页面的权限和帐户分配都是由IUSER_计算机名(internet来宾帐户)来完成的,如果访问时要求输入用户名和密码,很可能是该帐户信息被改,如密码被一些软件或病毒修改,这时,重新卸载并再次安装IIS组件是唯一的解决方案,因为IUSER_计算机名(internet来宾帐户)的用户密码是在安装组件过程中由系统自动生成的,无法通过手工设置重置。
2.2 目录权限问题
如果重新安装IIS依旧不能解决问题,那么问题根源不在于IUSER_计算机名(internet来宾帐户),而在于目录权限设置,找到要发布的页面所在文件夹(网站目录),在其上点右键选择“属性”,打开属性窗口中的“安全”标签,如果没有IUSER_计算机名(internet来宾帐户)的访问权限,问题就在于此,通过“添加”按钮选择用户列表中的IUSER_计算机名(internet来宾帐户),将其添加到目录权限访问设置窗口中,并根据实际需要针对IUSER_计算机名(internet来宾帐户)帐户对该目录的访问权限进行设置,一般给予读取权限即可。
故障排查与解决
3.1 检查匿名访问设置
在IIS中,右键点击“网站”选择“属性”,然后找到“目录安全性”标签,接下来点击“身份验证和访问控制”,在身份验证方法窗口中启用匿名访问,这样才能够开启在访问WWW站点时使用IUSER_计算机名(internet来宾帐户)帐户来浏览页面信息,不要勾选“集成Windows身份验证”。
3.2 配置主目录权限
在网站属性窗口中有一个“主目录”标签,在该标签下可以查看发布目录对应的权限,一定要合理分配好权限,如果不小心给予了写入和目录浏览权限,站点很容易被攻击,这里如果没有添加读取权限,访问时同样会出现不具备相关权限的错误提示。
补充说明
4.1 特殊文件类型支持
有客户反馈在安装网站后,woff、woff2字体无法加载,导致无法显示图标文件,这是因为服务器IIS默认没有SVG, WOFF, WOFF2这几个文件类型的支持,可以通过添加MIME类型来解决这些问题。
4.2 伪静态文件支持
许多网站需要采用伪静态来访问动态网页,例如phpcms这样的系统,会提供一个.htaccess文件来写伪静态规则,这个规则是针对Apache的,如果要在IIS中使用,需要进行相应的转换。
FAQs
1、Q: 为什么在IIS中发布站点后,访问时总是弹出用户名和密码的对话框?
A: 这通常是由于IIS中的匿名访问账户IUSER_计算机名(internet来宾帐户)的权限设置不正确或被修改,解决方法是重新设置该账户对发布目录的读取权限,或者重新安装IIS组件以重置账户信息。
2、Q: 如何避免在IIS中发布站点时出现需要输入用户名和密码的问题?
A: 要避免这个问题,可以在IIS中确保启用了匿名访问,并且正确配置了目录权限,具体操作包括在IIS管理器中启用匿名访问,设置正确的NTFS权限,以及确保主目录标签下的读取权限已正确分配,定期检查和更新IIS设置也是预防此类问题的有效方法。
IIS发布站点访问时要输入用户名和密码的问题主要涉及账户信息被修改和目录权限设置不当,通过重新设置IUSER_计算机名(internet来宾帐户)的读取权限或重新安装IIS组件,可以有效解决这个问题,合理配置IIS的匿名访问和目录权限也是预防此类问题的关键,希望本文能帮助用户更好地理解和解决IIS发布站点访问时的故障,提升网站的可访问性和用户体验。