
ワイルドカード SSL 証明書 (*.mydomain.com) がインストールされた IIS7/WinServer2008 構成があります。Web サーバーには複数の Web サイトがあり、それぞれが同じ IP (IP1 と呼びます) のホスト ヘッダー経由でルーティングするように構成されています。一部のサイトは SSL を使用するように構成されていますが、一部はそうではありません。
ので、私は持っています...
a.mydomain.com -> SSL
b.mydomain.com -> non-SSL
c.mydomain.com -> SSL
d.mydomain.com -> non-SSL
e.mydomain.com -> non-SSL
等...
上記のサンプル サイト A および C (SSL サイト) では、標準の HTTP URL を HTTPS にリダイレクトする必要がありました。そのため、IIS のルート (赤い矢印) で、カスタム ステータス コード 403.4 を追加してエラー ページ設定を構成しました (設定については以下を参照してください)。
redirectHttpToHttps.htm ファイルの内容は次のとおりです。
<html>
<head><title>Redirecting...</title></head>
<script language="JavaScript">
function redirectHttpToHttps()
{
var httpURL= window.location.hostname + window.location.pathname + window.location.search;
var httpsURL= "https://" + httpURL;
window.location = httpsURL;
}
redirectHttpToHttps();
</script>
<body>
</body>
</html>
次に、A サイトと C サイトの両方で、古いバインディングを SSL バインディング (特に IP1 にルーティング) に置き換え、SSL 設定を「SSL が必要」に設定しました。
すべてがうまく機能しています。サイトAはリダイレクトしますhttp://a.mydomain.comにhttps://a.mydomain.com同様にサイト C でも同じことを行います。
これで、ワイルドカード以外の SSL 証明書を導入できるようになりました。これは、aaa.customerdomain.com にバインドされたサイト用です。そこで、証明書を IIS サーバーに追加し、aaa.customerdomain.com サイトのバインドを変更して、新しい証明書と新しい IP2 に対する SSL バインドを使用するようにしました。
それで、私がhttps://aaa.customerdomain.com、すべてうまくいきます。しかし、どうすればhttp://aaa.customerdomain.comSSL バージョンにリダイレクトします。
これらすべてが機能するように IIS を適切に構成する方法を教えていただけませんか?
答え1
IISでさまざまな種類のリダイレクトを処理するには、URL書き換えモジュールを使用してください。
http://www.iis.net/downloads/microsoft/url-rewrite
次に、http から https へのリダイレクトのために、サイトごとに Web 構成に以下を追加します。
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions><add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</rule>
IIS URL 書き換えモジュール インターフェイスを介して GUI を使用してこれを実行することもできます。