가상 호스트에서 리디렉션을 구성할 때 SSL 인증서 오류가 발생하지 않습니다.

가상 호스트에서 리디렉션을 구성할 때 SSL 인증서 오류가 발생하지 않습니다.

내 서버는 사이트 wwww에 포함된 요청을 리디렉션하기 위해 다음 줄을 추가할 때까지 자체 서명된 SSL 인증서로 제대로 작동합니다 .non-www

<VirtualHost *:443>
 ServerName www.mydomain.com
 Redirect permanent / https://mydomain.com/
</VirtualHost>

내가 얻은 오류는 다음과 같습니다.

서버는 SSL을 인식해야 하지만 인증서가 구성되어 있지 않습니다. [힌트: SSLCertificateFile] ((null):0)

간단한 리디렉션에는 SSL이 필요하지 않다고 생각했습니다. 이 간단한 리디렉션이 작동하려면 어떻게 해야 합니까?

답변1

문제는 SSL을 사용하는 경우 여러 개의 NameVirtualHost를 가질 수 없다는 것입니다. 이는 다양한 웹 서버에서 흔히 발생하는 문제입니다.

그 이유는 네트워크 계층에 있습니다. HTTP는 SSL 위에 있습니다. 즉, 먼저 SSL 연결을 설정한 다음 HTTP 요청을 전송해야 합니다. 그러나 HTTP 요청은 이 요청을 처리해야 하는 NameVirtualHost를 결정하고 동시에 SSL 인증서는 NameVirtualHosts에 특정할 수 있으므로 이 요청을 처리할 NameVirtualHost가 SSL 시점에 아직 알려지지 않은 경우 SSL 연결을 어떻게 설정할 수 있습니까? 악수?

이 문제에 대해 이야기하고 해결 방법을 제안하는 사람들이 많아졌습니다. 서로 다른 가상 호스트를 서로 다른 IP 또는 포트에 배치하는 것과 마찬가지로 SSL 연결이 설정되기 전에 IP 및 포트가 알려지기 때문에 문제가 해결됩니다.

이름 기반SSLV호스트

또한 VirtualHost에는 SSL 관련 지시문 SSLEngine on및 기타 SSL*지시문이 없습니다. SSL 없이 VirtualHost를 포트 443에서 수신 대기하도록 구성했지만 포트 443의 다른 VirtualHost에는 SSL이 활성화되어 있기 때문에 이것이 이 오류가 발생하는 이유일 것입니다. 위에서 설명한 이유로 인해 작동하지 않습니다.

관련 정보