HTTP 요청이 자동으로 HTTPS로 리디렉션되도록 웹 사이트에 SSL을 설정하도록 웹 호스트에게 요청했습니다.
그들은 이것이 완료되었다고 말하지만 HTTP를 통해 사이트에 액세스하면 이제 다음과 같은 결과를 얻습니다.
Response HTTP/1.1 403 Forbidden
HTTPS가 잘 작동합니다.
나는 이 문제를 수정해 달라고 요청했고 이것이 서버 설정(그들이 관리하는)이 아니며 web.config(내가 액세스할 수 있는)를 통해 수정해야 한다는 말을 들었습니다.
이 403을 포착하고 리디렉션하기 위해 다음 변경 사항을 사용하려고 시도했지만 실패했습니다.
<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>
HTTP가 HTTPS를 효과적으로 요구하도록 리디렉션하도록 이 문제를 어떻게 해결할 수 있습니까?
답변1
호스트는 먼저 "SSL 필요"를 선택 취소해야 했으며 다음을 통해 web.config에서 트래픽을 리디렉션할 수 있었습니다.
<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>