
http 웹사이트를 설정하고 싶습니다:http://example1.com및 https 웹사이트:https://example2.com다음 구성을 사용합니다.
Listen 80
Listen 443
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
ServerName example1.com
DocumentRoot /var/www/example1.com/public_html
</VirtualHost>
<VirtualHost *:443>
ServerName example2.com
DocumentRoot /var/www/example2.com/public_html
SSLCertificateFile...
SSLCertificateKeyFile...
SSLEngine On
</VirtualHost>
그런데 제가 방문하면https://example1.com, 다음으로 리디렉션됩니다.https://example2.com. 내가 방문하면http://example2.com, 다음으로 리디렉션됩니다.http://example1.com. 이것은 내가 원하는 것이 아닙니다. 나는 원한다https://example1.com그리고http://example2.com전혀 존재하지 않습니다. 어떻게 해야 하나요?
답변1
너~ 할 것이다VirtualHost 블록을 두 개 더 정의해야 합니다. Apache가 해당 이름과 일치하는 VirtualHost를 찾을 수 없으면 해당 포트에 속한 첫 번째 VirtualHost를 사용합니다.
물론 동일한 웹사이트를 제공할 필요는 없습니다.
- 일반 페이지와 같은 오류 페이지를 제공할 수 있습니다.404 찾을 수 없음. 이것은 사람들을 짜증나게 할 것입니다.
- 의 경우
example2.com
RewriteRule을 사용하여 모든 HTTP 방문자를 HTTPS로 리디렉션할 수 있습니다. - ... 음
example1.com
, 왜 HTTPS를 통해 서비스를 제공하지 않는지 정말 이해가 안 가나요?
그러나 액세스 방법에 관계없이 도메인은 여전히 동일한 도메인이기 때문에 도메인이 존재하지 않는다고 브라우저에서 보고하도록 할 수 없습니다.