远程共享上的IIS6虚拟目录500错误

我们有我们的服务器在域中的服务器场。 我们称之为现场。

我们的开发人员计算机生活在一个完全独立的公司领域,数英里外。 我们称之为CORP。

我们有一个大型的中央存储单元(unix),用于存放服务器场中许多networking服务器所需的图片和其他媒体。 IIS应用程序池以LIVE \ MediaUser身份运行,并使用这些凭据作为虚拟目录连接到中央存储共享,检索映像,并像在本地服务器上一样提供服务。

问题在于发展。

在我的开发机器上。 我以CORP \ MyName的身份login。 我的IIS 6应用程序池作为networking服务运行。 我无法将其作为来自LIVE域的用户运行,因为我的机器不是(也不能)join到该域中。

我尝试创build一个虚拟目录,将其指向相同的networking目录,单击连接方式,取消选中“validation访问networking目录时始终使用经过身份validation的用户的凭据”checkbox,以便我可以inputlogin信息,inputcredentails对于LIVE \ MediaUser,单击确定,validation密码等。

这不起作用。 我从IIS获得“HTTP错误500 – 内部服务器错误”。

IIS日志文件报告sc-status = 500,sc-substatus = 16和sc-win32-status = 1326。

该文档说,这意味着“UNC授权凭据不正确”和Win32状态意味着“login失败:未知的用户名或错误的密码”。

如果这个数字接近于准确的话,这将会是很好的。 我加倍和麻烦检查它。 尝试了多个已知的良好login。 IISpipe理器允许我在其窗口中查看文件树,只有浏览器才会将我踢出去。

我甚至尝试去虚拟目录的目录安全选项卡,并在身份validation和访问控制下,我试图使用匿名访问凭据相同的实时域用户名。 没有运气。

我不想在虚拟目录中运行任何ASP,ASP.NET或其他任何dynamic的东西。 我只是希望IIS能够加载静态图像,CSS和JS文件。

如果有人有一些明智的想法,我会最感激!

我以前有过这个问题。 这里有两个build议,这两个build议都不是理想的,甚至可能在你的环境中是不可能的:

  1. 将文件存储在非域服务器上的共享中。 这样,活动服务器和开发服务器都可以访问它们。

  2. 运行日常工作,将实时服务器中的必要文​​件复制到开发环境(通过FTP,FTPS或其他方式)。

我同意没有将CORP机器join到LIVE域名,但是有什么理由不能build立它们之间的单向信任? 基本上,要么LIVE需要能够validationCORP \ user,要么CORP需要能够成功地传递一个LIVE \用户证书(即使IIS 6的pipe理控制台没有知道该域,也不能这太清楚了)。

基本上这些领域必须有一些彼此的知识,所以AD可以做它的事情。 UNC共享不告诉你它没有validation(这将是HTTP 400类错误)。 DEV服务器告诉你(通过500.16)它不能为你给它的信誉创build一个标记,因为它不知道LIVE域是什么,所以Kerberos不能为它创build一个标记。

关于HTTP 500.16的TechNet:…

要做到这一点,IIS使用WindowsloginAPI来获取安全令牌,当访问远程存储的内容时,它可以用来模拟安全身份。

我已经解决了这个问题,使用域用户的匿名用户,允许访问域控制器上的远程共享它工作正常。

诚挚

确保您用来访问共享文件夹(例如LIVE \ MediaUser)的用户帐户具有“作为服务login”和“从networking访问此计算机”的权限。

您可以在托pipe共享文件夹的服务器上进行设置:

pipe理工具 – >计算机pipe理 – >本地安全设置 – >本地策略 – >用户权限分配