web-dev-qa-db-ja.com

アウトバウンドURLの書き換えIIS 7ARRクラッシュアプ​​リケーション

IIS 7 with ARR。ドメインには2つのインバウンドURLリライトと1つのアウトバウンドURLリライトがあります。インバウンドのものは正常に機能し、私は持っていません。それらに問題は見られませんでした。

ただし、アウトバウンドリダイレクトは、有効にするたびにアプリケーションプールをクラッシュさせるようです。そして、アウトバウンドルールを無効にするまでクラッシュし続けます。リダイレクトのループのようなものかもしれないと思いますが、よくわかりません。私自身は正規表現にあまり詳しくなく、オンラインで検索してもあまり見つけることができませんでした。

動作する2つのインバウンドリダイレクトは次のとおりです。

<rule name="Rule1" enabled="true" stopProcessing="false">
                <match url="^blog/$" />
                <serverVariables>
                    <set name="HTTP_ACCEPT_ENCODING" value="0" />
                    <set name="HTTP_X_FORWARDED_Host" value="domain.com" />
                </serverVariables>
                <action type="Rewrite" url="http://blog.domain.com" appendQueryString="True" />
            </rule>
            <rule name="Rule2" enabled="true" stopProcessing="false">
                <match url="^blog/(.*)" />
                <serverVariables>
                    <set name="HTTP_ACCEPT_ENCODING" value="0" />
                    <set name="HTTP_X_FORWARDED_Host" value="domain.com" />
                    <set name="HTTP_X_FORWARDED_FOR" value="{REMOTE_ADDR}" />
                </serverVariables>
                <action type="Rewrite" url="http://blog.domain.com/blog/{R:1}" appendQueryString="True" />
            </rule>

有効にするとアプリプールがクラッシュするアウトバウンドルールは次のとおりです。

<outboundRules rewriteBeforeCache="true">
            <rule name="outRule1" preCondition="isHtml" enabled="false" stopProcessing="false">
                <match filterByTags="A" pattern="^http(s)?://blog.domain.com/blog/(.*)" />
                <action type="Rewrite" value="http{R:1}://www.domain.com/blog/{R:2}" />
                <conditions logicalGrouping="MatchAll">
                </conditions>
            </rule>
            <preConditions>
                <preCondition name="isHtml">
                    <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
                </preCondition>
            </preConditions>
        </outboundRules>

どんな助けでも大歓迎です。

1
Rob

アウトバウンドルールでは、rewriteBeforeCacheをfalseに設定する必要があります。

ポール

1
user3779039