Eu não sei qual versão do IIS você está usando, mas se é IIS7 / 7.5, então o IIS URL REwrite vai fazer muito bem.
Aqui está uma regra para copiar em sua raiz web.config
URL REWRITE
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
<add input="{SERVER_PORT}" pattern="^1000$" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}:1443/{R:1}" />
</rule>