Como adiciono um segundo host virtual a uma configuração de servidor Apache?

Como adiciono um segundo host virtual a uma configuração de servidor Apache?

Eu tenho um servidor Apache em execução em uma instância AWS EC2. Atualmente, um host virtual está sendo executado com êxito no servidor e quero adicionar um segundo host/domínio virtual, mas não consigo descobrir como fazê-lo funcionar.

Tornando os dados anônimos, aqui estão as informações originais que adicionei httpd.confpara colocar o primeiro host virtual em execução:

<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>

Em seguida, registrei o seguinte no Google Domains para site-1(com um endereço IP falso):

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

Em seguida, usei o Certbot para adicionar um certificado SSL, que adicionou a seguinte linha httpd.confe um desafio ACME às configurações de DNS do Google Domains:

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

Tudo isso está funcionando bem. Em seguida, comprei um segundo domínio ( site-2.com) e, por enquanto, estou apenas tentando fazer o host virtual funcionar com um index.htmlarquivo muito simples na raiz do diretório do site (ou seja, /var/www/site-2).

Para isso, adicionei o seguinte no final de 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>

E as seguintes configurações de DNS foram adicionadas ao Google Domains para site-2:

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

Já se passaram várias horas desde que todas essas configurações foram adicionadas site-2e reiniciei o servidor Apache várias vezes com o sudo systemctl restart httpd. No entanto, quando vou site-2.com, recebo a seguinte página, que não é o index.htmlarquivo de amostra que coloquei em /var/www/site-2:

insira a descrição da imagem aqui

Também é importante notar que o favicon for site-2é na verdade o favicon for site-1. Não sei por quê. Além disso, as permissões/propriedade do diretório/arquivo site-2são as mesmas que para site-1.

Alguém pode fornecer alguma idéia de por que isso não está funcionando? Pelo que vale a pena, depois de pesquisar bastante, pensei em adicionar a seguinte linha ao httpd.conf, mas fazer isso e reiniciar o servidor não faz diferença:

NameVirtualHost *:80

Editar: Acabei de descobrir uma coisa. Por alguma razão, site-2está apontando para o var/www/htmldiretório. Se eu colocar um index.htmlarquivo de amostra nesse diretório, ele será carregado corretamente quando eu acessar o site-2.com. Por que é que? Por que o seguinte bloco de host virtual não está funcionando?

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

Responder1

Honestamente, não sei qual é o problema, mas começou a funcionar. Talvez tenha sido um problema de propagação de DNS (não tenho certeza), mas a configuração que listei na minha pergunta original começou a funcionar.

informação relacionada