IISでリバースプロキシ


URL書き換えモジュールやARR等、IISは昔に比べて色々オプション機能がついている。
LinuxにてApacheやNginx等をフロントに置くパターンの方が多い気はするが、一応IISでもできる。

例えば、タイルリクエストをリバースプロキシ側でキャッシュ持たせたり、別のインターナルサーバに
リクエストを送付したりできる。


Application Request Routing
http://www.iis.net/downloads/microsoft/application-request-routing

高い可用性とスケーラビリティの実現 – ARR および NLB
http://technet.microsoft.com/ja-jp/library/ee886284.aspx

ARR の主要な概念と機能
http://technet.microsoft.com/ja-jp/library/ee683921(v=ws.10).aspx

ArcGIS for Server WebAdpterはサイト構成とか見てくれるがキャッシュに関してはこちらの方が優秀かも。

例えばVisual SVNへリバースしたいときは仮想ディレクトリを作成してそこへのリクエストを全て8080へ置き換える
またWebConfigにて許容する拡張子等を設定することで共存可能

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{CACHE_URL}" pattern="^(https?)://" />
                    </conditions>
                    <action type="Rewrite" url="{C:1}://localhost:8443/svn/{R:1}" />
                </rule>
            </rules>
        </rewrite>
        <security>
            <requestFiltering allowDoubleEscaping="true">
                <requestLimits maxAllowedContentLength="4294967295" maxUrl="40960" maxQueryString="20480" />
                <fileExtensions>
                    <remove fileExtension=".mdf" />
                    <remove fileExtension=".sitemap" />
                    <remove fileExtension=".master" />
                    <remove fileExtension=".ascx" />
                    <remove fileExtension=".asax" />
                    <remove fileExtension=".browser" />
                    <remove fileExtension=".skin" />
                    <remove fileExtension=".resources" />
                    <remove fileExtension=".mdb" />
                    <remove fileExtension=".resx" />
                    <remove fileExtension=".vbproj" />
                    <remove fileExtension=".csproj" />
                    <remove fileExtension=".vb" />
                    <remove fileExtension=".cs" />
                    <remove fileExtension=".config" />
                </fileExtensions>
                <hiddenSegments>
                    <remove segment="bin" />
                    <remove segment="App_code" />
                    <remove segment="App_GlobalResources" />
                    <remove segment="App_LocalResources" />
                    <remove segment="App_WebReferences" />
                    <remove segment="App_Data" />
                    <remove segment="App_Browsers" />
                </hiddenSegments>
            </requestFiltering>
        </security>

    </system.webServer>
</configuration>
カテゴリー: 開発環境 タグ: パーマリンク