まず、Webサーバーに「URL Rewrite」モジュールをインストールします。
URL Rewrite : The Official Microsoft IIS Site
https://www.iis.net/downloads/microsoft/url-rewrite
次に、該当のサイト直下のWeb.configを編集してsystem.webServerセクションにrewriteの設定を追加します。
リバースプロキシ(例えばAzureのApplication Gatewayなど)を使っていない場合は、こちらのサイトにある方法で問題無いと思います。
WebサイトでHTTPSへリダイレクトさせる | たんたか
http://blogs.gine2.jp/taka/archives/2790
リバースプロキシを使っている場合は、この方法だとリダイレクトが無限ループになってしまいます。
そこで下のように書き換えます。
これで無事思った通りにHTTPからHTTPSにリダイレクトしてくれるようになります。
リバースプロキシから送られてくるX_FORWARDED_PROTOヘッダの値をチェックして、「https」でない場合だけリダイレクトするという条件になっています。
また{REQUEST_URI}を使った場合は「appendQueryString="false"」を付けておかないと、REQUEST_URI自体が既にクエリー文字列を含んでいるためにURLの「?」以降の部分が2回重複して追加されてしまうようです。
URL Rewriteモジュールを使うとプログラムを書き換えずに対応出来るので便利ですね!