동일한 서버에 있는 두 개의 https 가상 호스트: 동일한 포트, 다른 하위 도메인

동일한 서버에 있는 두 개의 https 가상 호스트: 동일한 포트, 다른 하위 도메인

이 시나리오를 검색해 보았지만 정확히 이 설정을 찾을 수 없는 것 같습니다. 나는 다음과 같은 내용을 갖고 싶습니다.

두 개의 하위 도메인이 서로 다른 문서 루트를 가진 서로 다른 https 사이트로 리디렉션되도록 하고 싶습니다. 우리가 가지고 있는 SSL 인증서는 도메인 수준(*example.com)입니다. 다음은 작동하지 않는 것 같습니다. 각 포트에 하나 이상의 가상 호스트를 배치하면 "이 웹페이지를 사용할 수 없습니다"라는 메시지가 나타납니다. 어떤 제안이 있으십니까?

NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
  ServerName subdomain1.example.com
  RedirectPermanent / https://subdomain1.example.com
</VirtualHost>
<VirtualHost *:80>
  ServerName subdomain2.example.com
  RedirectPermanent / https://subdomain2.example.com
</VirtualHost>
<VirtualHost *:443>
  DocumentRoot /srv/www/subd1/
  ServerName subdomain1.example.com
  # more directives
</VirtualHost>
<VirtualHost *:443>
  DocumentRoot /srv/www/subd2/
  ServerName subdomain2.example.com
  # more directives
</VirtualHost>

subdomain1.example.com과 subdomain2.example.com을 모두 서버 IP 주소로 연결하는 DNS가 있습니다.

편집하다: 예제 구성(ServerName 지시문 없음)의 오류를 수정하고 DNS에 관한 정보를 추가했습니다.

답변1

구성 샘플이 작동해야 하지만(해당 서버를 확인하기 위해 해당 가상 호스트에 해당하는 DNS 항목을 올바르게 설정했다고 가정) ServerName지시문이 포함되지 않은 것 같습니다. 다음을 시도해 보세요. 예제 구성 구성 중 오류가 발생했습니다):

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
  ServerName subdomain1.example.com
  RedirectPermanent / https://subdomain1.example.com
</VirtualHost>

<VirtualHost *:80>
  ServerName subdomain2.example.com
  RedirectPermanent / https://subdomain2.example.com
</VirtualHost>

<VirtualHost *:443>
  DocumentRoot /srv/www/subd1/
  ServerName subdomain1.example.com
  # more directives
</VirtualHost>

<VirtualHost *:443>
  DocumentRoot /srv/www/subd2/
  ServerName subdomain2.example.com
  # more directives
</VirtualHost>

관련 정보