4
IISの*すべての* HTTP / HTTPSリクエストを一時的に「サーバーメンテナンス」ページにリダイレクトする
数百の個別のWebアプリをホストするIISサーバーがあり、これらのアプリをホストする物理データベースサーバーは、メンテナンスのために短期間オフラインになります(所要時間は15分未満です)。 その期間中は、どのWebサイトについても、すべてのトラフィックを「現在メンテナンス中」のページにリダイレクトします。 すべてのWebアプリにアクセスし、そのアプリ内のすべてのリクエストに対してユーザーを別のページに送信するIIS書き換えルールを設定することで、これを実行できることがわかりました。しかし、それを行うには、データベースのメンテナンスを行うよりも時間がかかります! 私は3つのことを試しましたが、どれもうまくいきませんでした。 グローバルIIS書き換えルール 私はすべてのサイトにルールを一度に適用する簡単な方法を探していました。それから、同じように痛みのない手順でそのルールを「元に戻す」ことができます。これまでのところ、私の試みはどれもうまくいきませんでした。この書き換えルールをW:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ web.configにあるグローバルweb.configに入れてみました。 <configuration> <system.webServer> <rewrite> <rules> <rule name="redirect all requests" stopProcessing="true"> <match url="^(.*)$" ignoreCase="false" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" /> </conditions> <action type="Redirect" url="http://www.somedomain.com/maintenance" appendQueryString="true" /> </rule> </rules> </rewrite> </system.webServer> </configuration> …