SERVER_PROTOCOL 변수에는 실제로 무엇이 포함되어 있습니까(Apache 2.4)?

SERVER_PROTOCOL 변수에는 실제로 무엇이 포함되어 있습니까(Apache 2.4)?

HTTPS를 통해 모든 콘텐츠를 제공해야 하는 Apache 2.4에서 제공되는 웹 사이트가 있습니다. 올바르게 작동하는 적절한 리디렉션이 이미 마련되어 있지만 병리적인 사례는 발견되지 않습니다. 저는 그 상황을 개선하고 싶었고, 숙제를 하다가 다음 예시를 발견했습니다.이 문서:

<If "%{SERVER_PROTOCOL} != 'HTTPS'">
    Redirect "/admin/" "https://www.example.com/admin/"
</If>

내 상황을 반영하기 위해 이것을 약간 수정했습니다.

<If "%{SERVER_PROTOCOL} != 'HTTPS'">
    Redirect "/" "https://www.example.com/"
</If>

이제 내 사이트에서 URL을 보려고 하면 브라우저가 무한 리디렉션 루프에 빠지게 됩니다.

예제가 실제로 잘못되었다고 의심됩니다. 어떤 상황에서도 SERVER_PROTOCOL그 가치를 담고 있지 않은 것 같습니다 . HTTPS대신, 내가 다른 기사에서 읽은 내용에 따르면 HTTP/1.1(이름에서 예상할 수 있듯이) 다음과 같은 내용이 포함되어 있습니다.

그래서 내 질문은: SERVER_PROTOCOL어떤 상황/어떤 맥락에서 정확히 무엇이 포함되어 있습니까? 그리고 Apache의 공식 문서 웹사이트가 내가 몇 시간 동안 조사한 결과 HTTPS가능한 값으로 나열되어 있는 유일한 웹사이트인 이유는 무엇일까요 SERVER_PROTOCOL?

답변1

축하합니다. Apache 문서에서 오류를 발견했습니다. 신고하는 것을 고려해 보세요.

당면한 문제에 대해서는 다음을 찾고 있는 것 같습니다 REQUEST_SCHEME.이는 다음을 포함합니다

요청 URI의 구성표 부분

예를 들어, http또는 https.

관련 정보