IIS 7.5 - 为另一个域上的文件共享设置虚拟目录

Posted

技术标签:

【中文标题】IIS 7.5 - 为另一个域上的文件共享设置虚拟目录【英文标题】:IIS 7.5 - Setting up a Virtual Directory for a file share on another domain 【发布时间】:2013-09-16 14:36:02 【问题描述】:

我有一台运行 IIS 7.5 的 Windows 2008 R2 服务器。我想为我的网站设置一个虚拟目录,以允许从另一个域的服务器上的文件共享下载视频文件。我有一个域用户名和密码,允许我访问此文件共享。但是,当我尝试在 IIS 中设置虚拟目录时,我收到以下错误消息:

HTTP 错误 500.19 - 内部服务器错误

请求的页面无法访问,因为该页面的相关配置数据无效。

模块: IIS Web 核心 通知: BeginRequest 处理者:尚未确定 错误代码: 0x8007052e 配置错误:无法读取配置文件 配置文件: \\?\UNC\z27ar1cfvs004.abc.se\video$\web.config 请求的网址: http://localhost:8080/Video 物理路径: \\z27ar1cfvs004.abc.se\video$ 登录方式:尚未确定 登录用户:尚未确定

奇怪的是,我可以在我的虚拟目录上点击浏览器,IIS 将启动浏览器向我显示文件。

对于我网站的身份验证设置,我启用了基本和 Windows 身份验证设置。

以下是我尝试失败的事情:

将站点的 Connect As... 用户更改为使用域用户凭据 将虚拟目录的 Connect As... 用户更改为使用域用户凭据 更改网站的应用程序池身份以使用域用户帐户凭据 在 IIS 服务器上使用与域服务器上相同的用户名/密码创建本地用户帐户,然后再次尝试上述所有 3 个步骤,但只指定用户名而不是域\用户名 更改托管管道模式:集成和经典都没有任何区别

我一直在谷歌上搜索,直到我的眼睛变得模糊,并花了几个小时尝试了许多推荐的建议,但都无济于事。

我该如何解决这个问题?

【问题讨论】:

你是如何解决这个问题的?我有一个类似的问题,我需要对文件夹进行跨域身份验证访问。 【参考方案1】:

我找到了几种解决方法,具体取决于您的问题:

其实在共享目录下创建一个web.config文件。 在主web.config 中创建一个<location path="video" inheritInChildApplications="false" /> 元素,以指定不允许虚拟目录让web.config 设置覆盖其父目录。 在您的网站中设置一个确实包含web.config 的真实目录,然后使用 URL 重写工具对实际内容进行一组重写。 如果您编写了为站点启用的自定义 HTTP 模块,请为该目录关闭它。例如,如果模块不必在静态文件上运行,请将precondition="managedHandler" 添加到其在web.configapplicationHost.config 的设置中。

【讨论】:

以上是关于IIS 7.5 - 为另一个域上的文件共享设置虚拟目录的主要内容,如果未能解决你的问题,请参考以下文章

IIS 7.5 ASP.Net 和远程共享

怎样设置iis虚拟目录,然后将主目录指向别人的共享文件夹

在IIS中建立虚拟目录与对文件夹设置web共享有啥区别?

IIS 7.5 上的 GZip 压缩不起作用

IIS 7.5 上的 MVC5 路由错误 (404.0) 错误

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