Somente vhost localhost funciona no Mountain Lion [fechado]

1

Estou tentando executar o Apache no OS X Mountain Lion, mas só posso fazer com que o host virtual 'localhost' funcione.

Em / etc / hosts, tenho:

127.0.0.1       localhost magento.dev solas-lite.dev
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost

No httpd-vhosts.conf eu tenho:

NameVirtualHost *:80

<VirtualHost *:80>
        ServerName solas-lite.dev
        DocumentRoot "/Users/johnpeden/Sites/solas-lite"
</VirtualHost>

<VirtualHost *:80>
        ServerName magento.dev
        DocumentRoot "/Users/johnpeden/Sites/magento"
</VirtualHost>

<VirtualHost *:80>
        ServerName localhost
        DocumentRoot "/Users/johnpeden/Sites"
</VirtualHost>

Localhost exibe exatamente o que eu esperava, e se eu pingar localhost, solas-lite.dev ou magento.dev, recebo uma resposta de 127.0.0.1. Mas, se eu tentar acessar o link ou o link em um navegador, não obtenho resposta. Eu posso até mapear localhost para outra pasta e funciona

O servidor foi reiniciado, o computador foi reiniciado. A saída do httpd -S é:

VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server solas-lite.dev (/private/etc/apache2/extra/httpd-vhosts.conf:28)
         port 80 namevhost solas-lite.dev (/private/etc/apache2/extra/httpd-vhosts.conf:28)
         port 80 namevhost magento.dev (/private/etc/apache2/extra/httpd-vhosts.conf:33)
         port 80 namevhost localhost (/private/etc/apache2/extra/httpd-vhosts.conf:38)

O que está errado?

    
por jcpeden 12.12.2013 / 18:59

1 resposta

0

Por acaso, acho que isso não tem nada a ver com o Mountain Lion, você veria o mesmo comportamento no Linux, no Windows, etc.

Eu acho que o problema aqui é que no seu / etc / hosts a primeira entrada para 127.0.0.1 é localhost , então se o seu navegador estiver sempre vindo da máquina local, a solicitação http sempre dirá que é proveniente de localhost ou 127.0.0.1 ou magento-dev to 127.0.0.1 que é em essência localhost de acordo com o arquivo / etc / hosts, então o apache interpretará que a solicitação é destinada ao localhost NamedVirtualHost.

Você tentou fazer solicitações fora da máquina em que está executando o apache.

Eu também verificaria seus logs do apache para ver de onde as solicitações estão vindo e também veria os cabeçalhos das solicitações.

Espero que isso ajude.

    
por 12.12.2013 / 19:54