0

我有一个带有 IIS7 和 siteminder 的开发和生产 Windows 2008 R2 服务器,据我所知,它们的设置相同。问题是生产网站可以工作,但开发网站不能。

问题是当我导航到任何开发网站时,它会显示“由于发生内部服务器错误,无法显示该页面”。我在开发中没有遇到挑战(我认为这是问题的原因),但我在生产中遇到了挑战。这适用于经典的 ASP 页面或 ASP.NET 页面。

一些发现:-
- IIS 启用了 Windows 身份验证,而所有其他身份验证都被禁用
- Windows 身份验证提供程序是协商(尝试协商:Kerberos,结果相同)
- WindowsAuthentication 和 WindowsAuthenticationModule(本机)都存在于模块中
- WindowsAuthentication 安装在服务器管理器下 -> IIS -> 角色
- 收到上述错误消息后,IIS 日志显示访问错误 401 2 5

我在网上找到的所有解决方案要么没有像上面那样正确设置,要么建议我禁用 Windows 身份验证并启用匿名身份验证。如果我这样做,一切正常,但唯一的问题是我的网站需要 Windows 身份验证来识别用户。我已经束手无策了,我还没有重新安装一些东西,希望它能正常工作。我忽略了任何可能性或日志文件?

4

1 回答 1

0

在搞砸了一点之后,我终于解决了我的问题……希望这对某人有所帮助。

  • 我意识到事实上 ASP 页面可以工作,但 ASP.NET 页面不能工作
  • 当我打开匿名身份验证时,ASP.NET 页面现在在 IIS 日志中给出 500 0 或 500 19 错误,而不是使用 Windows 身份验证的 401 2 5
  • 我尝试从本地主机中启动一个 ASP.NET 页面,然后得到 500 错误,并出现更详细的错误,说我应该在 web.config 下的 httpErrors 中使用相对路径(??)
  • 此时我意识到我之前已将 403 错误更改为默认网站级别的自定义文件,然后将其更改回来。尽管将其更改回原来的值,但最终所做的是在 wwwroot/web.config 中的 httpErrors 下添加一个“删除”然后一个“添加”标签,两者都是针对 403.htm。在我删除了整个 httpErrors 段后,我的网站又开始工作了。
  • 此时恢复到 Windows 身份验证也有效。

因此,一些要点是首先在本地测试网站,并记住 wwwroot/web.config 的存在会给出几乎无法追踪的错误......

于 2013-07-26T03:45:24.897 回答