IIS7和ARR作为Subversion的反向代理

Pau*_*ell 10 svn iis-7 reverse-proxy

我正在使用IIS7和Application Request Routing扩展来充当在Apache上运行的Subversion的反向代理.

代理工作正常,我能够探索服务器,甚至执行"签出".但是,我无法浏览通常被ASP.NET禁止的文件 - 例如.cs,.csproj等.ASP.NET不关心的文件 - 例如.txt - 很好.

我试图编辑全局web.config来删除这些文件的Forbidden处理程序映射,但它似乎没有什么区别.有没有办法允许IIS7中的URL重写模块工作,同时允许呈现所有文件扩展名?

Pau*_*ell 16

IIS7有一个applicationHost.config文件,它有一个限制文件扩展名的安全部分:

<requestFiltering>
  <fileExtensions allowUnlisted="true" applyToWebDAV="true">
    <add fileExtension=".cs" allowed="false" />
    <add fileExtension=".csproj" allowed="false" />
    <add fileExtension=".vb" allowed="false" />
    <add fileExtension=".vbproj" allowed="false" />
    ....
  </fileExtensions>
Run Code Online (Sandbox Code Playgroud)

更多信息:

http://learn.iis.net/page.aspx/143/how-to-use-request-filtering/

我在我的网站的web.config中添加了一个类似的部分,并使用一个<clear />节点删除所有扩展.现在我可以提供.cs,.csproj文件和其他文件,但我无法提供.config文件.

编辑:删除hiddenSection节点也为web.config文件更正了这一点.这是我的本地web.config文件:

<system.webServer>
  <security>
    <requestFiltering>
      <fileExtensions allowUnlisted="true" applyToWebDAV="true">
        <clear />
      </fileExtensions>
      <verbs allowUnlisted="true" applyToWebDAV="true" />
      <hiddenSegments applyToWebDAV="true">
        <clear />
      </hiddenSegments>
    </requestFiltering>
  </security>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)