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.conf
para 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.conf
e 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.html
arquivo 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-2
e 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.html
arquivo de amostra que coloquei em /var/www/site-2
:
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-2
sã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-2
está apontando para o var/www/html
diretório. Se eu colocar um index.html
arquivo 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.