Le pedí a nuestro proveedor de alojamiento web que configurara SSL en nuestro sitio web, de modo que las solicitudes HTTP se redireccionen automáticamente a HTTPS.
Dicen que esto ya está hecho, sin embargo, cuando accedo al sitio a través de HTTP, ahora aparece:
Response HTTP/1.1 403 Forbidden
HTTPS funciona bien.
Solicité que se corrigiera esto y me dijeron que no es una configuración del servidor (que ellos administran) y que debe solucionarse a través de web.config (al que tengo acceso).
Intenté sin éxito utilizar los siguientes cambios para detectar este 403 y redirigirlo:
<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>
¿Cómo puedo resolver esto de modo que HTTP redirija a HTTPS (lo que efectivamente requiera)?
Respuesta1
Resulta que el host primero tuvo que desmarcar "Requerir SSL", luego pude redirigir el tráfico en web.config a través de:
<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>