답변:
아마도 Apache의 가상 호스팅을 사용하고 싶을 것입니다. 단일 IP 주소에서 많은 도메인을 호스팅하기 위해 잘 지원되는 방법입니다.
http://httpd.apache.org/docs/2.2/vhosts/
특히 이름 기반 가상 호스트 : http://httpd.apache.org/docs/2.2/vhosts/name-based.html
Apache2는 모든 도메인이 동일한 IP 주소로 해석 되더라도 도메인 이름에 따라 다른 컨텐츠를 제공 할 수 있습니다. 각 도메인 이름은 가상 호스트에 의해 처리 되므로 이름 기반 가상 호스트 입니다.
다음은 두 도메인에 대한 샘플 구성입니다.
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.yourfirstdomain.tld
DocumentRoot /www/yourfirstdomain.tld/
</VirtualHost>
<VirtualHost *:80>
ServerName www.yourseconddomain.tld
DocumentRoot /www/yourseconddomain.tld/
</VirtualHost>
이름 기반 가상 호스트 지원 에 대한 공식 문서는 여기를 참조하십시오 .
그러나 이것은 HTTPS (HTTP over SSL)가 아닌 일반 HTTP 연결에서만 작동합니다. 이름 기반 가상 호스트는 요청되는 이름을 알고 있지만이 정보는 암호화 된 SSL까지 아파치에서 알 수 없습니다 연결이 설정되었습니다.
HTTPS를 사용하여 설정해야하는 경우 SNI ( Server Name Indication ) ( RFC4366 ) 라는 SSL 프로토콜의 확장에 의존해야합니다 . 기본적으로 SNI 가능 클라이언트 (예 : 웹 브라우저)는 암호화 된 SSL 연결을 설정할 때 추가 일반 텍스트 정보를 추가하여 SSL 연결이 준비되기 전에 요청 된 이름을 서버가 알 수있게합니다.
모든 브라우저가 아직 SNI를 지원하지 않습니다. 글을 쓰는 시점과 위키 백과에 따르면 다음과 같은 것들이 있습니다.
HTTPS를 통해 액세스 할 수있는 여러 이름 기반 가상 호스트를 호스팅하려면 mod_ssl을 활성화하고 위의 예와 유사한 구성을 추가해야합니다.
Listen 443
NameVirtualHost *:443
# Accept connections for these vhosts from non-SNI clients
# Clients without SNI will be handled by the first defined vhost.
# If you only want SNI-enabled client, put on instead
SSLStrictSNIVHostCheck off
<VirtualHost *:443>
ServerName www.yourfirstdomain.tld
DocumentRoot /www/yourfirstdomain.tld/
</VirtualHost>
<VirtualHost *:443>
ServerName www.yourseconddomain.tld
DocumentRoot /www/yourseconddomain.tld/
</VirtualHost>
SSL을 사용하려면 도메인 용 SSL 인증서를 구매하거나 자동 서명 된 인증서를 생성하고 SSL 연결에 사용하도록 Apache를 구성해야합니다.
sudo service apache2 restart