Apache 서버 구성에 두 번째 가상 호스트를 어떻게 추가합니까?

Apache 서버 구성에 두 번째 가상 호스트를 어떻게 추가합니까?

AWS EC2 인스턴스에서 실행되는 Apache 서버가 있습니다. 현재 하나의 가상 호스트가 서버에서 성공적으로 실행되고 있으며 두 번째 가상 호스트/도메인을 추가하고 싶지만 작동 방법을 알 수 없습니다.

httpd.conf데이터를 익명화하여 첫 번째 가상 호스트를 실행하기 위해 추가한 원본 정보는 다음과 같습니다 .

<Directory "/var/www/site-1/public">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

<VirtualHost *:80>
    DocumentRoot "/var/www/site-1/public"
    ServerName "site-1.com"
    ServerAlias "*.site-1.com"
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =site-1.com [OR]
    RewriteCond %{SERVER_NAME} =*.site-1.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

site-1그런 다음 (가짜 IP 주소를 사용하여) Google Domains에 다음을 등록했습니다 .

Host name     Type  TTL      Data
site-1.com    A     1 hour   4.184.56.145
*.site-1.com  A     1 hour   4.184.56.145

httpd.conf그런 다음 Certbot을 사용하여 SSL 인증서를 추가했는데, 이는 Google Domains DNS 설정에 다음 줄과 ACME 챌린지를 추가했습니다 .

Include /etc/httpd/conf/httpd-le-ssl.conf

모두 잘 작동합니다. 그런 다음 두 번째 도메인( )을 구입했으며 지금은 사이트 디렉토리(예: )의 루트에 있는 site-2.com매우 간단한 파일을 사용하여 가상 호스트를 실행하려고 합니다 .index.html/var/www/site-2

이를 위해 맨 아래에 다음을 추가했습니다 httpd.conf.

<Directory "/var/www/site-2">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

<VirtualHost *:80>
    DocumentRoot "/var/www/site-2"
    ServerName "site-2.com"
</VirtualHost>

다음 DNS 설정이 Google Domains에 추가되었습니다 site-2.

Host name     Type  TTL      Data
site-2.com    A     1 hour   4.184.56.145

site-2에 이러한 모든 설정이 추가된 지 몇 시간이 지났고 sudo systemctl restart httpd. 그러나 으로 이동하면 다음 페이지가 표시되는데, 이는 내가 배치한 site-2.com샘플 파일이 아닙니다 .index.html/var/www/site-2

여기에 이미지 설명을 입력하세요

에 대한 파비콘이 site-2실제로 에 대한 파비콘이라는 점도 주목할 가치가 있습니다 site-1. 이유가 확실하지 않습니다. 또한 에 대한 디렉터리/파일 권한/소유권은 site-2와 동일합니다 site-1.

이것이 작동하지 않는 이유에 대한 아이디어를 제공할 수 있는 사람이 있습니까? 그만한 가치가 있기 때문에 꽤 많은 조사를 한 후에 다음 줄을 에 추가해야 한다고 생각했지만 httpd.conf그렇게 하고 서버를 다시 시작해도 아무런 차이가 없습니다.

NameVirtualHost *:80

편집하다: 방금 뭔가 알아냈어요. 어떤 이유로 든 디렉토리를 site-2가리키고 있습니다 var/www/html. 해당 디렉터리에 샘플 파일을 넣으면 index.htmlsite-2.com으로 이동할 때 올바르게 로드됩니다. 왜 그런 겁니까? 다음 가상 호스트 블록이 작동하지 않는 이유는 무엇입니까?

<VirtualHost *:80>
    DocumentRoot "/var/www/site-2"
    ServerName "site-2.com"
</VirtualHost>

답변1

솔직히 거래가 무엇인지는 모르겠지만 이제 막 작동하기 시작했습니다. DNS 전파 문제였을 수도 있지만(확실하지는 않음) 원래 질문에 나열한 구성이 작동하기 시작했습니다.

관련 정보