httpd en CentOS resolviendo solo el primer VirtualHost

3

Acabo de recibir un nuevo servidor en la nube y, al configurarlo, puedo acceder a la raíz de la web apuntando mi navegador a la dirección IP de mi servidor, pero los nombres de dominio aún se están propagando, así que cuando voy a ellos no se resuelven.

Cuando apunto mi navegador a la dirección IP de mi servidor, en realidad se está resolviendo en el primer VirtualHost que configuré no debería ser la carpeta raíz Este VirtualHost debería aparecer cuando voy a dirección / ruta , No solo dirección IP .

Configuración del servidor:
Anfitrión: Rackspace Cloud Server
OS: CentOS 6
VirtualHosts :

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName www.wphax.com
    ServerAlias wphax.com *.wphax.com
    DocumentRoot /var/www/wphaxcom
    ErrorLog /var/www/wphaxcom/error.log
    CustomLog /var/www/wphaxcom/access.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName www.dnadvanced.com
    ServerAlias dnadvanced.com *.dnadvanced.com
    DocumentRoot /var/www/dnadvancedcom
    ErrorLog /var/www/dnadvancedcom/error.log
    CustomLog /var/www/dnadvancedcom/access.log combined
</VirtualHost>

¿Alguna idea sobre qué podría causar esto y cómo podría configurarlo para que no se pueda acceder al directorio raíz ingresando la dirección IP, pero los nombres de dominio se resolverán correctamente en sus carpetas específicas? Gracias.

Jared
fuente
No veo cuál es el problema. Si especifica la dirección IP directamente y tiene varios servidores asignados a ese host, ¿no es así? siempre ¿Va a resolver el primero que definió? Debería funcionar correctamente una vez que los registros de DNS se actualicen a través del interwebz.
Breakthrough
¿Tiene usted la NameVirtualHost *:80 Directiva presente por encima de ambos <VirtualHost> definiciones?
Breakthrough
@Breakthrough Sí, NameVirtualHost *:80 Está presente encima de las definiciones de VirtualHost. - ¿Podría ser porque los servidores de nombres de los nombres de dominio todavía se están propagando?
Jared
Si voy solo a la dirección IP de mi servidor, obtengo la /var/www/wphaxcom directorio. Si voy a la IP / dnadvancedcom, intenta ir /var/www/wphaxcom/dnadvancedcom.
Jared

Respuestas:

3

Desde el Soporte de host virtual basado en nombre Artículo en la documentación del servidor Apache:

Los hosts virtuales basados ​​en IP utilizan la dirección IP de la conexión para   determinar el host virtual correcto para servir. [...]

El alojamiento virtual basado en nombres suele ser más sencillo, ya que solo necesita   configure su servidor DNS para asignar cada nombre de host a la IP correcta   dirección y luego configure el servidor HTTP Apache para reconocer la   Nombres de host diferentes. [...]

Al especificar directamente una dirección IP, son esencialmente seleccionando el primer host virtual listado en su archivo de configuración. Como nunca especificó una dirección IP en el archivo de configuración, ese host está escuchando en todas las IP. La forma en que Apache determina a qué sitio web servir está dictada por la información recibida en los encabezados HTTP a partir de la solicitud del cliente.

A menos que pueda acceder a ambos hosts virtuales a través de direcciones IP independientes, o por diferentes números de puerto (es decir, configure el segundo puerto 81), tendrá que esperar a que se propaguen los cambios de nombre de dominio.


Si tu De Verdad Si necesita probar el servidor ahora, puede intentar modificar manualmente los encabezados HTTP después de cada solicitud (utilizando algo como el Alteración de datos addon para Firefox) para que Apache sirva la página adecuada para su navegador.

Breakthrough
fuente
Pensé que tendría que esperar a que el DNS se propague. Otra cosa que olvidé fue agregar los registros A para mis nombres de dominio. Comencé a trabajar de inmediato después de eso. :)
Jared