답변:
가상 호스트와 SSL / TLS의 문제가 무엇인지 설명하는 것이 좋습니다.
HTTP를 통해 아파치 서버에 연결하면 http 헤더 세트가 함께 전송됩니다. 그들은 다음과 같이 보입니다 :
GET /index.html HTTP/1.1
Host: www.nice-puppies.com
가상 호스팅 아파치가있는 경우 호스트 필드를보고 올바른 index.html을 가져옵니다. SSL / TLS를 추가 할 때 문제가 발생합니다. 서버는 http 요청을 보내기 전에 암호화를 설정합니다. 따라서 서버는 인증 / 암호화가 완료 될 때까지 www.nice-puppies.com 또는 www.evil-haxxor.com으로 갈지 여부를 알 수 없습니다. 서버가 추측 할 수 없습니다 (잘못된 인증서를 보내면 불쾌한 오류 메시지가 표시됨).
하나의 솔루션은 * .nice-puppies.com에 유효한 와일드 카드 인증서입니다 (위에서 언급 한 바와 같이). 이렇게하면 여러 도메인에 동일한 인증서를 사용할 수 있지만 * .com 인증서를 가질 수는 없습니다 (좋아요,하지만 다른 사람에게는 매우 나쁩니다). 일반적으로 각 도메인마다 별도의 IP가 필요합니다 HTTPS 도메인.
이 문제에 대한 실제 해결책은 "서버 이름 표시"입니다.
http://en.wikipedia.org/wiki/Server_Name_Indication
서버와 웹 클라이언트에만 배포되기 시작하여 실제로 사용할 수있는 것은 아니지만 몇 년 안에 큰 문제가되지 않기를 바랍니다.
문제는 SSL 인증서가 호스트 이름이 아닌 IP 주소에 바인딩되어 있다는 것입니다. HTTPS 요청에 대한 IP 주소로 연결이 이루어지면 첫 번째 조치는 서버 인증서 및 / 또는 클라이언트 인증서를 전달하여 SSL 통신을 설정하는 것입니다. 연결 핸드 쉐이크의이 단계에서 Apache 서버는 어떤 요청이 들어올 지 알 수있는 방법이 없습니다. 연결이 설정된 후 클라이언트가 Host
헤더를 보내 거나 구성된 첫 번째 가상 호스트 로 전달할 경우 Apache 서버가 사용할 가상 호스트 구성을 결정할 수 있으므로 HTTP (비 SSL) 트래픽의 경우와 다릅니다 .
동일한 도메인에 여러 개의 가상 호스트가있는 경우 IP 주소에 단일 와일드 카드 인증서를 설정하고 다른 서버 이름으로 여러 개의 가상 호스트를 정의 할 수 있습니다. 그러나 해당 서버 이름이 동일한 도메인 이름이 아닌 경우 클라이언트 서버 오류가 발생합니다. 와일드 카드 인증서는 해당 도메인 이름 아래의 모든 호스트 이름에 유효하므로 작동합니다. 도메인 이름이 해당 IP 주소에 대해 정의 된 첫 번째 인증서가 클라이언트 연결을 위해 제공되는 인증서와 다르면 다른 IP 주소가 필요합니다.
이것은 하나의 단일 SSL 인증서에 SAN (Subject Alternative Name)으로 추가 될 수 있습니다. 나의 exceriance에서 나는 조직 sll 증명서를 요구해야했다. 나는 globalsign을 사용했다.
실제로 최신 소프트웨어를 사용하면 'SNI-서버 이름 표시'라는 새로운 기능을 사용하여 단일 IP 주소를 통해 여러 HTTPS 사이트를 제공 할 수 있습니다.
http://en.wikipedia.org/wiki/Server_Name_Indication
http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI
나는 이것을 직접 사용하지는 않았지만 내부 및 인트라넷 사이트에는 좋습니다. 대부분의 최신 브라우저는 SNI를 지원합니다. IE6는 SNI를 지원하지 않지만 IE7은 지원합니다.
(수정 : 20100426-SNI는 Windows XP에서 전혀 지원되지 않습니다. Windows Vista 이상에서는 SNI를 지원합니다. http://msdn.microsoft.com/en-us/library/dd208005%의 "2.2.3 단원"을 참조하십시오. 28v = PROT.13 % 29.aspx # id8 ).
UC 인증서는 확실히 갈 길입니다 : http://www.sslshopper.com/unified-communications-uc-ssl-certificates.html
동일한 IP에 두 개의 인증서를 추가하려고하면 처음에 읽은 인증서 만 사용됩니다. 하나의 IP-하나의 SSL 인증서.
동일한 IP에서 더 많은 SSL 인증서를 받으려면 다중 도메인 ( UCC- @ godaddy 체크 아웃 ) 또는 와일드 카드 (더 비싼) 인증서를 가져 오는 것이 좋습니다.