Come posso risolvere l'errore httpd di apache2 "il mixaggio di porte * e non * con un indirizzo NameVirtualHost non è supportato"


24

Ecco l'errore che visualizzo all'avvio di Apache2:

 * Starting web server apache2
 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [warn] NameVirtualHost *:80 has no VirtualHosts

Ho seguito prima questa guida sull'impostazione di Apache per ospitare più siti:

http://www.debian-administration.org/articles/412

Ho quindi trovato una domanda simile su ServerFault e ho provato ad applicare la soluzione, ma non ha aiutato.

Ecco un esempio della mia configurazione finale di VirtualHost:

<VirtualHost *:80>
    ServerAdmin admin@xxx.com
    ServerName  www.xxx.com
    ServerAlias xxx.com

    # Indexes + Directory Root.
    DirectoryIndex index.html
    DocumentRoot /var/www/www.xxx.com

    # Logfiles
    ErrorLog  /var/www/www.xxx.com/logs/error.log
    CustomLog /var/www/www.xxx.com/logs/access.log combined
</VirtualHost>

con il dominio X fuori per proteggere gli innocenti :-)

Inoltre, ho il file conf.d / virtual.conf menzionato nella guida in questo modo:

NameVirtualHost *

La cosa strana è che tutto sembra funzionare bene per due dei tre siti.


Pubblica la tua completa (!) Configurazione di Apache httpd o almeno ogni riga NameVirtualHost e <VirtualHost ...>.
joschi,

Non è possibile combinare i due tipi sullo stesso ip: porta. Ho avuto un setup in cui avevo due ip, uno con massvhost che pendeva, l'altro aveva tutti i normali host basati sul nome. Ancora più importante, qual è l'obiettivo? Cosa stai cercando di ottenere? Quali sono i tuoi vincoli?
Marcin,

Risposte:


29

Gli indirizzi IP indicati con NameVirtualHostdevono corrispondere all'indirizzo IP in ciascun VirtualHostelemento.

Esempio:

NameVirtualHost *:80
NameVirtualHost *:81

<VirtualHost *:80>
# ...
</VirtualHost>

<VirtualHost *:81>
# ...
</VirtualHost>

# This will not work!
<VirtualHost *>
# ...
</VirtualHost>

Leggi la documentazione di Apache Virtual Host per i dettagli.


Vorrei poter votare più di una volta. Dovrebbero davvero chiamarlo più chiaramente nella documentazione.
Alex W

13

Sostituisci questo:

NameVirtualHost *

Con questo:

NameVirtualHost *:80

2
Apprezzo la risposta semplice e desidero poterli accettare entrambi
rcampbell,

5

Aggiungendo alle risposte, una cosa che ho notato è che non è possibile eseguire SSL senza avere dichiarato esplicitamente: 80 su tutte le direttive NameVirtualHost e VirtualHost, Apache non supporterà di avere:

NameVirtualHost *

e

NameVirtualHost *: 443

Mescolato nella stessa configurazione, si otterranno errori su apache in ascolto sulla porta zero se lo si fa.

Per me ho appena aggiunto: 80 a ogni host in modo che SSL possa funzionare in modo proprietario.


0

Ex:

<VirtualHost 85.25.97.252:80>
ServerName domain.com
ServerAlias ​​* .domain.com
ServerAdmin webmaster@domain.com
DocumentRoot "/var/www/domain.com/httpdocs/"
<Directory "/var/www/domain.com/ httpdocs / ">
Opzioni Indici FollowSymLinks
AllowOverride All
Order allow, deny
Allow from all
</Directory>
</VirtualHost>

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.