를 사용하는 방법에 Apache2 같은 서버가 2differents 인증서를 사용하여 가상호스트?
-
20-09-2019 - |
문제
나는 인증서를 얻을에서 Gandi 도메인 www.mondomaine.fr 지 sql.mondomaine.fr 내가 사용하고 싶었 자체 서명된 에서 확인하실 수 있습니다.
면 활성 sql.mondomaine.fr 이,www.mondomaine.fr 사용 자체 서명된 인증서를 대신 Gandiś 하나입니다.
경 desactivate sql.모든 것이 잘 작동합니다.
어떻게 관리할 수 있습니의 사용은 다른 인증서입니까?
그 솔기가 있는 첫번째 가상호스트 구성을 위한 모든 SSL 가상호스트.
당신의 도움을 주셔서 감사합니다.
여기에는 나의 구성:
에 대한 PHPMyAdmin:
<VirtualHost *:443>
# Chemin vers les données web
DocumentRoot /usr/share/phpmyadmin
ServerName sql.mondomaine.fr
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/phpmyadmin.pem
</VirtualHost>
대 mondomaine.fr
<VirtualHost *:443>
ServerName www.mondomaine.fr
DocumentRoot /var/www/mondomaine/
CustomLog /var/log/apache2/secure_access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/mondomaine.fr.crt
SSLCertificateKeyFile /etc/ssl/mondomaine.fr.key
SSLCACertificateFile /etc/ssl/GandiStandardSSLCA.pem
SSLVerifyClient None
</VirtualHost>
구성이기 때문에 올바른 경우 첫번째 가상호스트를 읽은 PHPMyAdmin.pem ModSSL 사용하여 이 경우 mondomaine.fr.crt 첫번째 가상호스트,아파치 사용하여 이 하나입니다.
해결책
당신은 실행에 대한 일반적인 문제는 HTTP over SSL 경우 클라이언트가 연결,그것을 지정하는 호스트 연결하고자 하을 사용하여 Host:HTTP 헤더는,하지만 올 후에 SSL handshake(경우 인증서 발표)가 완료되었습니다.최근 TLS 버전의 지원을 확장자(지정된 RFC4366)할 수있는 클라이언트를 지정하는 어떤 호스트 이하려는 연결을 SSL handshake,특정의 의도를 지원하는 가상호스트;을 인용하는 RFC:
""" TLS 을 제공하지 않습 메커니즘을 클라이언트에게 서버 의 이름이 서버에 연락하.하는 것이 바람직할 수 있습한 클라이언트 이 정보를 제공하고 촉진하는 안전한 연결을하기 호스팅하는 서버에 여러 가상 서버에서 단일본 네트워크 주소입니다."""
위키백과에 따르면,최근 버전에는 Firefox,IE,Chrome,Safari 지원이 확장;다른 클라이언트는 여전히지 않을 보내 확장,당신의 행운이있다.당신은 또한 당신을 사용하여 적어도 TLS1.1 사용하려면 확장자 지원합니다.
일부 문서 에 이를 설정하는 방법으로 아파치;를 다시 만들어야 할 수 있습 OpenSSL 및/또는 아파치 특유의 옵션에 따라 귀하의 지역 설정입니다.
다른 팁
그에 따라 변동 당신이 어떻게 만들은 인증서.만약 당신이 그것을 구입에 대해서만 www 하위 도메인의 작업에 대한 sql.당신이해야 할 일은 그것을 만들 수 있는 어떤 하위 도메인이지만,afaik 해당 인증서에는 더 비싸다.
에서 다른 손으로 사용할 수 있는 자신의 인증서,당신은 확실에 대해 당신은 무엇을 넣어를 만들 때 virtutalhost
<virtualhost XXX.XXX.XXX.XXX:443>
serverName www.mondomaine.fr
# Gandiś ceritificate
</virtualhost>
<virtualhost XXX.XXX.XXX.XXX:443>
serverName sql.mondomaine.fr
# your own certificate stuff
</virtualhost>