Конфигурация Apache2 — виртуальный IP-адрес хоста на AWS Linux 2

Конфигурация Apache2 — виртуальный IP-адрес хоста на 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>


Это работает, но когда я заменяю звездочки на URL-адрес, DocumentRootпо умолчанию получается /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


Я не против использования звездочки, просто хотелось бы понять, почему в данном случае это необходимо.

решение1

Этот раздел определяет только ip-адреса, которые могут достичь этого виртуального хоста. В этом случае это <VirtualHost *:80>означает, что Apache позволит всем сетевым интерфейсам получить доступ к этому виртуальному хосту. Поведение, которое, как мне кажется, вы испытываете, заключается в том, что вы попадаете в корневой каталог документов по умолчанию, поскольку ни один из установленных вами виртуальных хостов не открыт

Связанный контент