Ich habe unseren Webhost gebeten, SSL auf unserer Website einzurichten, sodass HTTP-Anfragen automatisch auf HTTPS umgeleitet werden.
Sie sagen, dass dies erledigt ist, aber wenn ich die Site über HTTP zugreife, erhalte ich jetzt:
Response HTTP/1.1 403 Forbidden
HTTPS funktioniert einwandfrei.
Ich habe darum gebeten, dies zu korrigieren, und mir wurde gesagt, dass dies keine Servereinstellung ist (die von ihnen verwaltet wird) und über web.config (auf die ich Zugriff habe) behoben werden muss.
Ich habe erfolglos versucht, die folgenden Änderungen vorzunehmen, um diesen 403-Fehler abzufangen und umzuleiten:
<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>
Wie kann ich dies so lösen, dass HTTP auf HTTPS umleitet – und dies effektiv erfordert?
Antwort1
Es stellte sich heraus, dass der Host zuerst „SSL erforderlich“ deaktivieren musste. Dann konnte ich den Datenverkehr in web.config wie folgt umleiten:
<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>