2011-08-23 9 views
34

Tengo dos nombres de dominio, dos certs ssl y dos direcciones IP. Estoy tratando de configurar mis archivos de Apache Virtualhost para ellos.NameVirtualHost *: 80 no tiene VirtualHosts

Primero, comenté todas las instancias de "NameVirtualHost" y "Listen" para los puertos 80 y 443. Luego hice lo siguiente con mis archivos de hosts virtuales.

archivo de host virtual de domain1:

NameVirtualHost 1.1.1.1:80 
Listen 1.1.1.1:80 
Listen 1.1.1.1:443 
<VirtualHost 1.1.1.1:80> 
    ServerName domain1.com 
    ... 
</VirtualHost> 
<VirtualHost 1.1.1.1:443> 
    ... 
</VirtualHost> 

archivo de host virtual para domain2:?

NameVirtualHost 2.2.2.2:80 
Listen 2.2.2.2:80 
Listen 2.2.2.2:443 
<VirtualHost 2.2.2.2:80> 
    ServerName domain2.com 
    ... 
</VirtualHost> 
<VirtualHost 2.2.2.2:443> 
    ... 
</VirtualHost> 
+0

* NameVirtualHost * ha quedado obsoleto y ya no lo necesite lo es. – andreszs

Respuesta

27

En algún lugar de su configuración, probablemente en el fichero de configuración por defecto de Apache (creo /etc/apache2/httpd.conf en Ubuntu alguien puede corregir yo en los comentarios), es una línea que se parece a:

NameVirtualHost *:80 

# Also 
Listen 80 
Listen 443 

Comentario a cabo, y en sus VirtualHost archivos de configuración, añadir:

Listen 111.111.111.111:80 
Listen 222.222.222.222:80 
# If also using SSL 
Listen 111.111.111.111:443 
Listen 222.222.222.222:443 

NameVirtualHost 111.111.111.111:80 
NameVirtualHost 222.222.222.222:80 

En muchas configuraciones por defecto de Apache, los Listen y NameVirtualHost directivas se suministran con comodines, o de forma global para aplicar a todas las interfaces de red. Dado que está usando múltiples direcciones IP vinculadas a diferentes configuraciones, necesita ser más específico en sus directivas de configuración que el archivo de configuración predeterminado de su distribución.

+0

+1 ... suena bien. implícito dejarte saber en breve. – Jay

+0

/etc/apache2/httpd.conf está vacío. /etc/apache2/httpd.conf no tiene "NameVirtualHost" o "Listen". Sigue buscando. – Jay

+12

@Jay try 'grep -r Escuchar/etc/apache2' y' grep -r NameVirtualHost/etc/apache2' –

41

Había ignorado el mismo error durante los 2 meses que he tenido un servidor de Ubuntu. Encontré esta publicación muy bien resuelto el error. Gracias Michael! Como hiciste Jay, encontré al culpable en /etc/apache2/ports.conf. He intentado simplemente esto:

# NameVirtualHost *:80
sólo comentada esa línea y no hay otros cambios y no más

"NameVirtualHost *: 80 no tiene VirtualHosts"

+6

¡Genial! ¡Yo también! Resuelto – flaab

+0

Su funcionamiento ... Muchas muchas gracias –

Cuestiones relacionadas