svn - IIS7 和 ARR 作为 Subversion 的反向代理

标签 svn iis-7 reverse-proxy

我正在使用 IIS7 和应用程序请求路由扩展来充当在 Apache 上运行的 Subversion 的反向代理。

代理工作正常,我可以浏览服务器,甚至执行“ checkout ”。但是,我无法浏览到通常会被 ASP.NET 禁止的文件,例如 .cs、.csproj 等。 ASP.NET 不关心的文件(例如 .txt)很好。

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

最佳答案

除了 Paul Stovell 的回答,我建议激活双重转义。检索文件名中包含“+”字符的文件时遇到错误。双重转义消除了这个问题:

    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="SVNIn" stopProcessing="false">
                        <match url="(.*)" />
                        <action type="Rewrite" url="http://localhost:8082/svn/{R:1}" />
                    </rule>
                </rules>
            </rewrite>
            <security>
                <requestFiltering allowDoubleEscaping="true">
                    <fileExtensions allowUnlisted="true" applyToWebDAV="true">
                        <clear />
                    </fileExtensions>
                    <verbs allowUnlisted="true" applyToWebDAV="true" />
                    <hiddenSegments applyToWebDAV="true">
                        <clear />
                    </hiddenSegments>
                </requestFiltering>
            </security>
        </system.webServer>
    </configuration>

关于svn - IIS7 和 ARR 作为 Subversion 的反向代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1483531/

相关文章:

svn - svn更新被拒绝

Azure Web应用服务: IIS Reverse proxy possible?

asp.net - requestFilteringallowDoubleEscaping ="True"对于单个页面?

iis-7 - 通过 MSBuild 在 Web 部署期间设置 ACL

docker - AddOpenIdConnect options.Authority 被代理后面的当前主机覆盖(UseForwardedHeaders)

docker - 如何将相同的nginx.conf文件用于docker-compose和kubernetes的反向代理

java - 从不寻常的 svn 目录结构迁移到 maven?

svn - Windows 7(带有TortoiseSVN)中SVN的Windows资源管理器列(在详细信息 View 中)

SVN - 如何将较旧的修订版设为头修订版?

iis-7 - 如何修复 'Microsoft Excel cannot open or save any more documents'