사이트 당 하나의 구성 파일로 Apache 2.2.22를 사용하여 Ubuntu 12.4에서 12 개의 가상 호스트를 호스팅하는 새 웹 서버를 설정하고 있습니다. 모든 구성 파일을 한 번에 생성 a2ensite *
하고 한 번에 모두 사용하도록 실행 했습니다. 구성을 다시로드 할 때 구성이 실패하고 아파치를 다시 시작한 후 error.log에서 다음 오류 메시지를 발견했습니다.
‘server.host.name:0’에 대한 RSA 또는 DSA 서버 인증서가 없습니다!
이 오류 메시지에 대한 대부분의 결과는 문제를 해결하지 못하거나 수정 된 버그입니다. https://issues.apache.org/bugzilla/show_bug.cgi?id=31709
답변
요약 : VirtualHost
섹션 에서 다음 줄을 잊어 버린 경우에도이 오류가 발생할 수 있습니다 .
SSLEngine on
답변
문제는 오류에 나열된 호스트 와 다른 구성 파일에있게되었습니다. 두 파일에 ServerName 값이 중복되어 있기 때문입니다. 나는 잘못된 것을 고쳤고 백업을 시작했다.
이 문제를 해결하기 위해 모든 사이트를 비활성화 한 다음 문제가 다시 발생할 때까지 한 번에 몇 개를 활성화했습니다.
답변
주체 대체 이름이 여러 개인 인증서를 사용하고 있지만이 ServerName
지시문이 인증서의 CN 또는 SAN 값과 일치하지 않는 경우에도이 오류가 발생할 수 있습니다 . IT는 종종 개발자가 동일한 프로덕션 사이트의 개발 버전을 원하지만 개발 사이트에 대한 실제 인증서는 없습니다.
웹 사이트 예 :
webserver.example.com
webserver-dev.example.com
인증서 :
CN = primaryserver.example.com
SAN = webserver.example.com, puppies.example.com, kittens.example.com
다음 구성으로
인해이 오류가 발생합니다. /etc/apache2/sites-enabled/webserver.example.com-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName webserver.example.com
...
/etc/apache2/sites-enabled/webserver-dev.example.com-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName webserver-dev.example.com
...
다음
구성은 이 문제를 해결합니다. /etc/apache2/sites-enabled/webserver.example.com-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName webserver.example.com
...
/etc/apache2/sites-enabled/webserver.example.com-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost webserver-dev.example.com:443>
ServerName webserver.example.com
...
답변
FWIW, 나는 다른 모습 으로이 문제에 다시 부딪쳤다.
와일드 카드 SSL 인증서를 사용하는 경우 도메인 (domain.com)의 VirtualHost 항목이 다른 항목 (foo.domain.com, bar.domain.com 등) 앞에 나열되어 있는지 확인하십시오.
한 번에 하나의 구성을 시도했지만이 파일을 다시 추가 할 때까지 다른 모든 것이 잘 작동했습니다.
그런 다음 구성 파일 이름 이 “1 차 도메인 정의”가 포함 된 구성 파일보다 알파벳순으로 낮다는 점을 자세히 설명했습니다 . 주 링크 뒤에 배치되도록 심볼릭 링크를 변경했으며 모든 것이 매력처럼 작동했습니다.
실패 리스팅 순서 예 :
foo.domain.conf
prim.domain.conf
something.domain.conf
실제 예제 목록 :
prim.domain.conf
something.domain.conf
zfoo.domain.conf
HTH 다른 사람 🙂