Apache2에서 SSL 대체를 사용하지 않거나 인증서와 일치하지 않고 경로 재 지정


1

서버에 여러 개의 가상 호스트가 있습니다.

www.example.com
sub.example.com
www.example.nl

내 DNS 구성에서 모든 서버가 같은 서버를 가리 킵니다.

apache2 구성에는 http에 대한 기본 구성 파일과 https에 대한 구성 파일과 추가 사이트에 대한 추가 가상 호스트가 있습니다. 모든 일치하는 부분을 (으)로 리디렉션하고 싶습니다 www.example.com. 모든 특정 사이트에는 인증서가 있습니다.

내 파일은 다음과 같습니다

000-default.conf (redirects to https://www.example.com)
default-ssl.conf (serves https://www.example.com)
sub.example.com.conf (redirects to https://sub.example.com)
sub.example.com-ssl.conf (serves https://sub.example.com)
www.example.nl.conf (redirects to https://www.example.nl)
www.example.nl-ssl.conf (serves https://www.example.nl)

문제는 이제 다른 요청 (예 be-creative.example.nl:)이 처음로드 된 구성으로 기본 설정되어 있기 때문입니다. 이것은 http ( 000-default일치 및 리디렉션)에서 작동하지만에 대한 유효한 인증서가 없기 때문에 https에서는 작동하지 않습니다 be-creative.example.nl. 따라서 올바른 페이지를 리디렉션하거나 제공 할 수 없습니다.

사용하지 않으면 default-ssl.conf요청이 일치 sub.example.com-ssl.conf하고 잘못된 인증서가 계속 제공됩니다.

질문 : 인증서가없는 이러한 요청을 어떻게 처리 할 수 ​​있습니까? 유효한 일치 인증서가없는 상태에서 http로 리디렉션하려면 어떻게해야합니까?

답변:


0

내 자신의 서버 (CentOS, Apache 2.4) 에서이 문제를 해결하는 방법에는 유효한 SSL 인증서가있는 일반 페이지 (invalidssl.example.com)가 있으며 (Let 's Encrypt에서 무료 인증서를 얻음) 기본 구성에서 설정하십시오. 이렇게하면 비 SSL 도메인에 대한 https 요청은 대신 멋진 오류 메시지가 포함 된 일반 페이지를 표시합니다.

질문에 대답하려면 :

브라우저 경고를 트리거하지 않고 https를 통해 페이지를 요청하는 방문자 (페이지 또는 전달 응답)에게 컨텐츠를 제공하는 유일한 방법은 요청 된 도메인에 유효한 SSL 인증서로 응답하는 것입니다. 요즘 무료 SSL 인증서를 쉽게 사용할 수 있기 때문에이 문제가 발생하는 이유를 개인적으로 알 수 없습니다 ( Let 's Encrypt ! 를 살펴 보십시오 !).


그러나 누군가 다른 URL ( blah.example.com ) 에서 해당 페이지에 도달 한 경우 브라우저는 여전히 "안전하지 않은 페이지!"라는 메시지를 표시합니다.
TacoV

1
그래 맞아! 브라우저 경고를 유발하지 않고 https를 통해 콘텐츠를 제공하는 유일한 방법은 방문자가 요청한 도메인에 유효한 SSL 인증서를 사용하는 것입니다. 나는 (당신이 꽤 안전하지 않을 것이라고 주위 얻을 수 있다면 있기 때문에 의도적으로 설계된 것입니다)이 주변에 어떤 방법이 생각하지 않는다
cascer1

1
도메인이 catch-all (*. example.com이이 서버로 이동)로 설정되어 있고 Let 's Encrypt가 와일드 카드 인증서를 지원하지 않기 때문에이 문제가 주로 발생합니다. 모든 SSL 사이트를 켜고 잘못된 인증서 (ERR_CERT_COMMON_NAME_INVALID)를 제공하는 것보다 IMO를 선호하는 https (ERR_SSL_PROTOCOL_ERROR)를 시도 할 때 실제로 (브라우저?) 메시지가 있습니다.
TacoV

프로토콜 오류가있는 경우 사람들이 사이트 를 전혀 방문 하지 못할 것이라고 생각합니다 . 이 작업을 수행하는 방법을 아는 유일한 방법은 실제로 openssl 구성을 변경하여 클라이언트가 지원하는 암호를 지원하지 않지만 유효한 인증서와도 작동하지 않는 것입니다. 방문자가 아파치 및 openssl 구성에 대해 너무 많이 알지 못하면 어쨌든 이해하지 못하기 때문에 멀리 갈 것이기 때문에 다른 오류보다 선호해야한다고 생각하지 않습니다. >>
cascer1

>> 아파치 로그를 스캔하여 유효하지 않은 서브 도메인에 대한 요청을 주기적으로 검사하고 해당 서브 도메인에 대한 인증서를 암호화하도록 요청하는 프로그램을 작성하십시오. 이상적이지는 않지만 불행히도 더 나은 솔루션을 생각할 수는 없습니다.
cascer1
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.