![동일한 서버에 있는 두 개의 https 가상 호스트: 동일한 포트, 다른 하위 도메인](https://rvso.com/image/652670/%EB%8F%99%EC%9D%BC%ED%95%9C%20%EC%84%9C%EB%B2%84%EC%97%90%20%EC%9E%88%EB%8A%94%20%EB%91%90%20%EA%B0%9C%EC%9D%98%20https%20%EA%B0%80%EC%83%81%20%ED%98%B8%EC%8A%A4%ED%8A%B8%3A%20%EB%8F%99%EC%9D%BC%ED%95%9C%20%ED%8F%AC%ED%8A%B8%2C%20%EB%8B%A4%EB%A5%B8%20%ED%95%98%EC%9C%84%20%EB%8F%84%EB%A9%94%EC%9D%B8.png)
이 시나리오를 검색해 보았지만 정확히 이 설정을 찾을 수 없는 것 같습니다. 나는 다음과 같은 내용을 갖고 싶습니다.
두 개의 하위 도메인이 서로 다른 문서 루트를 가진 서로 다른 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>