我在这里查看了其他一些带有 Windows 身份验证帖子的 IIS 反向代理,它们似乎不是我想要做的。希望有人能够帮助或发现我没有做错或做错的事情。
我有一个服务器,它有一个在端口 80 上运行的网站,我需要在其上展示许多其他 Web 应用程序。我无法创建新的主机名,所以我在指向我的 Web 应用程序的站点中创建了一个虚拟目录,但是根站点正在使用 .net2.0 应用程序池,它必须保持为 .net2.0 而我的 ASP.NET MVC 应用程序都需要4.0 应用程序池。根据 web.config 继承问题,这是行不通的,我无法更改根中的 web.config 以忽略对子 web.configs 的传播 - 到目前为止?;-)
长话短说,我现在在我的 80 端口站点中有一个虚拟目录,它充当端口 81 上另一个站点的反向代理,这对于匿名连接来说工作得很好。我已经用一个简单的 HTML 页面对其进行了测试,我可以访问它,并且 URL 重写正在 HTML 页面中的链接上工作,到目前为止一切都很好。
现在我需要在端口 81 站点上启用 Windows 身份验证,所以我按照类似于 MSDN 站点上这些链接中的说明为我正在使用的域帐户 (DOMAIN\testaccount) 和其他 IIS 配置配置 SPN:-
问题是我现在得到的只是旧的错误消息:-
访问被拒绝。说明:访问处理此请求所需的资源时出错。服务器可能未配置为访问请求的 URL。
错误消息 401.2.:未经授权:由于服务器配置,登录失败。根据您提供的凭据和 Web 服务器上启用的身份验证方法,验证您是否有权查看此目录或页面。请与 Web 服务器的管理员联系以获得更多帮助。
-------------------------------------------------- ------------------ 版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.34280
我尝试创建一个测试 aspx 页面,该页面仅将服务器变量输出到响应,但即使这样也不起作用。
我找不到其他可以尝试的东西,最初我认为我必须对 Kerberos 进行排序以将详细信息从虚拟目录传递到端口 81 上的站点,但 MSDN 帖子说这不是必需的,只是 SPN 的。
有人有什么想法吗?