2014-02-19 3 views
2

Apache 2.2. 와일드 카드 SSL 인증서가 *.mydomain.com입니다. mydomain.com에 직접 보안 연결을 허용하려고합니다. 나는 내 사이트 www.mydomain.com에 대해서만 주소를 만들 수있는 솔루션을 발견했으며 실제로 www.mydomain.com을 입력하면 인증서가 작동합니다. 근무 구성 : 와일드 카드 인증서를 사용하여 HTTPS 리디렉션

<VirtualHost *:443> 
    ServerName www.mydomain.com 

    SSLEngine On 
    SSLCertificateFile /etc/apache2/ssl/cert.der 
    SSLCertificateKeyFile /etc/apache2/key.pem 

    // site config, redirects to Apache Tomcat 
</VirtualHost> 

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

    SSLEngine On 
    SSLCertificateFile /etc/apache2/ssl/cert.der 
    SSLCertificateKeyFile /etc/apache2/key.pem 
</VirtualHost> 

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

나는 http://mydomain.comhttp://www.mydomain.com 예상대로 나는 https://www.mydomain.com로 리디렉션하고를 입력

.

그러나 https://mydomain.com을 입력하면 브라우저에 인증서가 유효하지 않음이 표시됩니다 (자물쇠는 빨간색 임). 나는 인증서를 알고 신뢰한다고 (크롬에서 "보안 예외 추가"라고 함) 그 후에 - 적절하게 https://www.mydomain.com으로 리다이렉트되었고 자물쇠가 녹색임을 확인해야합니다.

질문 : 잘못된 인증서에 대해 사용자를 귀찮게하지 않고 https://mydomain.comhttps://www.mydomain.com으로 리디렉션하는 방법은 무엇입니까?

나는 두 번째 VirtualHost 정의에서 SSL* 항목을 제거하려고하지만 아파치가 시작되지 않고 다음과 같은 메시지가 로그에 있습니다

[error] Server should be SSL-aware but has no certificate configured 
[Hint: SSLCertificateFile] (/etc/apache2/sites-enabled/mydomain:1) 
+0

인증서에'* .mydomain.com'과'mydomain.com' 모두에 대한 SAN 항목이 있습니까? (그런데, 다양한 구성 설정을 시도 할 때 * 퍼미션 * 리다이렉트를 사용하는 것은 반드시 좋은 생각은 아닙니다. 테스트하는 브라우저가 기억하기 쉽기 때문입니다.) – Bruno

답변

2
는 SSL 인증서 검증과 연결

어떤 전에 수행됩니다 HTTP 메시지가 교환됩니다. 따라서 mydomain.com에서 www.mydomain.com으로의 HTTP 리디렉션은 인증서를 성공적으로 확인한 후에 만 ​​수행 할 수 있습니다. 따라서 서버를 직접 만지면 도움이되지 않으며 mydomain.com을 포함하는 인증서를 얻는 것이 유일한 선택입니다.

관련 문제