Configuração do Apache2 - IP do host virtual no AWS Linux 2

Configuração do Apache2 - IP do host virtual no AWS Linux 2

/etc/httpd/conf.d/vhosts.conf:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/var/www/html/vhosts/main-repo-dir"
    ServerName example.io
    ErrorLog "logs/example.io-error_log"
    CustomLog "logs/example.io-access_log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/var/www/html/vhosts/dev-repo-dir"
    ServerName dev.example.io
    ErrorLog "logs/dev.example.io-error_log"
    CustomLog "logs/dev.example.io-access_log" common
</VirtualHost>


Isso funciona, mas quando substituo o(s) asterisco(s) por um URL, DocumentRooto padrão é /var/www/html:

<VirtualHost example.io:80>
    ServerAdmin [email protected]
    DocumentRoot "/var/www/html/vhosts/main-repo-dir"
    ServerName example.io
    ErrorLog "logs/example.io-error_log"
    CustomLog "logs/example.io-access_log" common
</VirtualHost>

<VirtualHost dev.example.io:80>
    ServerAdmin [email protected]
    DocumentRoot "/var/www/html/vhosts/dev-repo-dir"
    ServerName dev.example.io
    ErrorLog "logs/dev.example.io-error_log"
    CustomLog "logs/dev.example.io-access_log" common
</VirtualHost>


/etc/hosts:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost6 localhost6.localdomain6

127.0.0.1   example.io
127.0.0.1   dev.example.io


Não há problema em usar um asterisco, só gostaria de entender por que preciso fazer isso nesse cenário.

Responder1

Essa seção define apenas os ips que podem alcançar esse host virtual. Neste caso, <VirtualHost *:80>significa que o Apache permitirá que todas as interfaces de rede acessem esse host virtual. O comportamento que acho que você está enfrentando é que você está acessando a raiz do documento padrão, porque nenhum dos hosts virtuais definidos está aberto

informação relacionada