如何配置Glimpse以使用虚拟目录?

时间:2014-08-11 06:59:30

标签: iis virtual-directory glimpse

我的应用程序有一个虚拟目录,指向远程文件服务器上的图像共享文件夹。当试图通过浏览器访问图像时(如http://webserver/app/VD-alias/image.png),我得到一个"配置错误":

An error occurred loading a configuration file: Failed to start monitoring changes to '\\fileserver\sharedfolder\web.config'.

经过大量调查后,我怀疑这是一个安全问题。但是:

  • AppPool使用Integrated管道标识为NETWORK SERVICE
  • 文件服务器仅允许用户域访问而非机器帐户访问(这是Web服务器将用于此AppPool标识的内容)。
  • 但是在IIS中,虚拟目录配置为使用特定的域帐户凭据来访问共享文件夹,因此一切都应该是关于访问的。

经过大量调查后,我意识到这与Glimpse defaultRuntimePolicy为On有关。当我关闭它时,一切正常。目前这是我在web.config中的Glimpse设置:

  <glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd">
    <runtimePolicies>
      <ignoredTypes>
        <add type="Glimpse.AspNet.Policy.LocalPolicy, Glimpse.AspNet" />
      </ignoredTypes>
    </runtimePolicies>
  </glimpse>

所以我想知道Glimpse是否没有使用IIS设置的虚拟目录凭据?或者Glimpse还能做些什么来阻止访问图像?

无论如何,我想知道是否有办法防止干扰特定路径或一般情况下的图像? 我尝试过使用:

      <uris>
        <add regex=".*uploads.*" />
      </uris>

      <uris>
        <add regex=".*/.*\.png" />
      </uris>

      <contentTypes>
        <add contentType="image/png" />
      </contentTypes>

我也尝试过更改runAllManagedModulesForAllRequests。我尝试过不同的IIS版本和最新的Glimpse版本。

但是除非我关闭Glimpse,否则他们似乎都没有任何区别。 有人遇到过这个问题吗?我很确定它可以重现。我怎样才能让Glimpse和我的虚拟目录发挥得更好? 提前谢谢。

0 个答案:

没有答案