Editou minha resposta depois de algumas leituras nos documentos do Apache : tecnicamente, você pode declarar um domínio em VirtualHost
, mas é desencorajado porque pode ter efeitos inesperados com o DNS . Eu suponho que aconteceu com sua configuração.
Na sua configuração do Apache, você usou a diretiva VirtualHost
de uma forma possivelmente problemática. Você declarou o nome de domínio nele, e. g. %código%. Mas isso é desencorajado em favor de declarar o endereço IP dos servidores. Os nomes de domínio são definidos dentro do bloco <VirtualHost restaurant.local>
, por exemplo, com VirtualHost
ou ServerName
.
Na diretiva ServerAlias
, você pode indicar o endereço IP ao qual deseja hospedar seu host virtual, além da porta:
<VirtualHost 127.0.0.1:80>
Essa definição de host virtual só é aplicada se um cliente (na maioria dos casos, um navegador da Web) se conectar ao IP 127.0.0.1 na porta 80. Como 127.0.0.1 é (em quase todos os casos) o dispositivo de loopback interno, esse virtual host só pode ser alcançado a partir do próprio servidor. Claro, em servidores públicos, você preferiria usar um endereço IP público.
Se você deseja aplicar uma definição de host virtual a qualquer IP (que chega ao servidor no nível da rede), é possível usar o curinga VirtualHost
, por exemplo:
<VirtualHost *:80>