68 votos

ADVERTENCIA de arranque de Apache 2: NameVirtualHost *: 80 no tiene VirtualHosts

Cuando mi Ubuntu servidor Apache (Apache 2) se inicia me aparece un mensaje de advertencia que dice:

[warn] NameVirtualHost *:80 has no VirtualHosts

Sin embargo, el servidor web está funcionando bien. ¿Qué podría haber de malo en mi configuración del sitio para hacerlo me da esta advertencia?

El archivo de configuración en cuestión (que se encuentra en /etc/apache2/sites-available) se lee como (detalles quitado por razones de brevedad)

<VirtualHost *>
    <Location /mysite>
        # Configuration details here...
    </Location>

    # Use the following for authorization.
    <LocationMatch "/mysite/login">
        AuthType Basic
        AuthName "My Site"
        AuthUserFile /etc/sitepasswords/passwd
        Require valid-user
    </LocationMatch>
</VirtualHost>

Podría el hecho de que estoy usando <Location> ser parte del problema?

53voto

Dave Cheney Puntos 13302

Cambio

<VirtualHost *>

para leer

<VirtualHost *:80>

O su (NameVirtualHost *:80) añade dos veces en su apache2 Confing archivo. ( Por Defecto añadido en los puertos.conf archivo )

Esto debería eliminar el error.

A un lado, no se debe ignorar este error. Apache config, especialmente cuando englobamiento de hosts virtuales (por ejemplo, Incluir en /etc/httpd/vhosts.d/*) no es estable. Eso significa que usted no controlar el orden de carga de los hosts de forma explícita por lo que el defecto vhost para una dirección IP se convierte en el único que se carga por primera vez, lo que puede conducir a consecuencias no deseadas.

Un ejemplo de esto es el valor predeterminado vhost para una IP también estará disponible en esa dirección IP, en lugar de su nombre. Esto puede causar que la información se filtre en google refiere a sus sitios de IP en lugar de un nombre, que puede ser confuso para los clientes.

El NameVirtualHost error anterior puede ser un indicio de que apache se ha cargado las cosas no forma óptima, por lo que no se debe ignorar.

4voto

Rob Puntos 1138

Es porque su línea NameVirtualHost tiene un número de puerto ( :80 ), pero no sus secciones VirtualHost.

3voto

Bell Puntos 89

Tienes un NameVirtualHost sin una entrada VirtualHost coincidente.

Esto normalmente no es fatal, sólo un error informativo.

2voto

Campbell Puntos 2129

Eso podría ser porque tienes la directiva NameVirtualHost en más de un lugar.

No sé si otras distribuciones, pero en Ubuntu/Debian, configuración de Apache está dividido en varios archivos, entonces tendrías que ver dónde está la duplicación (httpd.conf, apache2.conf, ports.conf, conf.d/*).

Ah, y acabo de encontrar este gran recurso con más información: Configuraciones erróneas comunes de Apache.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: