SSL 지시문이 적용되는 경우

SSL 지시문이 적용되는 경우

저는 Apache 서버 구성의 기본 사항을 배우려고 노력하고 있으며 Apache의 다양한 범위에서 SSL 지시어 유효성에 대해 궁금합니다.

그 지시문;

SSLEngine on
SSLCertificateFile "/etc/apache2/ssl/apache.crt"
SSLCertificateKeyFile "/etc/apache2/ssl/apache.key"
SSLRequireSSL ...

어디에 배치할 수 있나요? VirtualHost 섹션에만 있나요? 이것을 전역 범위에 넣으면 작동합니까?

이 질문이 문맥에 어긋난다면 죄송합니다. 아직 Apache와 관련하여 몇 가지 포괄적인 문제가 있습니다. :)

답변1

아파치의 세계에 오신 것을 환영합니다! 첫 번째 교훈은 훌륭한 문서를 읽는 방법을 배우는 것입니다. Apache 문서에서 모든 지시어에는문맥서버의 구성 파일에서 지시문이 적합한 위치를 나타내는 섹션입니다. Syntax:및 라인 바로 아래에서 찾을 수 있습니다 Default:.

서버 구성이는 지시어가 서버 구성 파일(예: httpd.conf) 에서 사용될 수 있지만 <VirtualHost>또는 <Directory>컨테이너 내에서는 사용될 수 없음을 의미합니다. .htaccess파일에서는 전혀 허용되지 않습니다 .

가상 호스트이 컨텍스트는 지시문이 <VirtualHost>서버 구성 파일의 컨테이너 내부에 나타날 수 있음을 의미합니다.

예배 규칙서이 컨텍스트에서 유효한 것으로 표시된 지시문은 구성 섹션에 설명된 제한 사항에 따라 서버 구성 파일의 <Directory>, <Location>, , 및 컨테이너 내에서 사용될 수 있습니다.<Files><If><Proxy>

.htaccess이 컨텍스트에서 지시어가 유효하다면 이는 디렉토리별 .htaccess 파일 내에 나타날 수 있음을 의미합니다. 현재 활성화된 재정의에 따라 처리되지 않을 수도 있습니다.

와 함께SSLEngine,SSLCertificateFile,SSLCertificateKeyFile컨텍스트는 서버 구성 및 가상 호스트입니다. 이는 전체 서버에 대해 이를 지정할 수 있고 <VirtualHost>.

그만큼SSLRequireSSL지령반면에 디렉토리 및 .htaccess 컨텍스트에서는 합법적입니다. 이는 이를 디렉토리에 배치함으로써 이 디렉토리를 제공하는 HTTP 단독 가상 호스트가 존재하더라도 비 TLS 연결이 허용되지 않도록 지정할 수 있음을 의미합니다.

그러나 오늘날에는 불필요한 모든 것을 TLS로 보호해야 합니다 SSLRequireSSL. 모든 HTTP를 HTTPS로 리디렉션하고 이를 시행합니다.HTTP 엄격한 전송 보안(HSTS) 정책(RFC 6797).

관련 정보