Pedi ao nosso host para configurar o SSL em nosso site, de forma que as solicitações HTTP sejam redirecionadas automaticamente para HTTPS.
Dizem que isso é feito, porém ao acessar o site via HTTP agora recebo:
Response HTTP/1.1 403 Forbidden
HTTPS funciona bem.
Solicitei que isso fosse corrigido e me disseram que esta não é uma configuração do servidor (que eles gerenciam) e precisa ser corrigida via web.config (ao qual tenho acesso).
Tentei, sem sucesso, usar as seguintes alterações para capturar esse 403 e redirecioná-lo:
<system.web>
<customErrors defaultRedirect="/test.html" mode="On"></customErrors>
</system.web>
<httpErrors errorMode="Custom">
<remove statusCode="403" subStatusCode="-1" />
<error statusCode="403" prefixLanguageFilePath="" path="/test.html" responseMode="ExecuteURL" />
</httpErrors>
Como posso resolver isso de forma que o HTTP redirecione para - exigindo efetivamente - HTTPS?
Responder1
Acontece que o host teve que primeiro desmarcar "Exigir SSL", então consegui redirecionar o tráfego no web.config via:
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>