Frage Wie kann ich den apache2-httpd-Fehler beheben? Mischen von * Ports und Nicht-Ports * mit einer NameVirtualHost-Adresse wird nicht unterstützt.


Hier ist der Fehler, den ich beim Hochfahren von Apache2 erhalte:

 * 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

Ich habe dieses Handbuch zum Einrichten von Apache zum Hosten mehrerer Websites zuerst befolgt:

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

Ich habe dann gefunden eine ähnliche Frage auf ServerFault und versucht, die Lösung anzuwenden, aber es hat nicht geholfen.

Hier ist ein Beispiel meiner letzten VirtualHost-Konfiguration:

<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>

mit der Domain X'ed out, um die Unschuldigen zu schützen :-)

Außerdem habe ich die conf.d / virtual.conf Datei, die in der Anleitung erwähnt wird, sieht so aus:

NameVirtualHost *

Das Seltsame ist, dass für zwei der drei Seiten alles gut zu funktionieren scheint.


24
2017-10-21 14:41


Ursprung


Veröffentlichen Sie Ihre vollständige (!) Apache-httpd-Konfiguration oder mindestens jede NameVirtualHost- und <VirtualHost ...> -Zeile. - joschi
Sie können die beiden Typen nicht auf der gleichen IP-Adresse miteinander verbinden. Ich hatte ein Setup, bei dem ich zwei IPs hatte, eines davon hatte Massenhost, das andere hatte alle regulären Namen-basierten Hosts. Noch wichtiger, was ist das Ziel? Was versuchst du zu erreichen? Was sind deine Einschränkungen? - Marcin


Antworten:


Die IP-Adressen mit dem Namen NameVirtualHost muss die IP-Adresse in jedem übereinstimmen VirtualHost Element.

Beispiel:

NameVirtualHost *:80
NameVirtualHost *:81

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

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

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

Lies das Apache Virtual Host-Dokumentation für Details.


29
2017-10-21 15:43



Ich wünschte, ich könnte mehr als einmal abstimmen. Sie sollten das wirklich deutlicher in der Dokumentation ansprechen. - Alex W


Ersetzen Sie dies:

NameVirtualHost *

Mit diesem:

NameVirtualHost *:80

13
2017-10-21 17:40



Ich schätze die einfache Antwort und wünschte, ich könnte beides akzeptieren - rcampbell


Hinzufügen zu den Antworten, eine Sache, die ich bemerkte, ist, dass Sie nicht SSL ausführen können, ohne die Deklaration der: 80 auf jeder NameVirtualHost und VirtualHost-Direktiven, Apache wird nicht unterstützen mit:

NameVirtualHost *

und

NameVirtualHost *: 443

Zusammengefasst in der gleichen Konfiguration, erhalten Sie Fehler beim Apachen auf Port-Null, wenn Sie das tun.

Für mich habe ich nur hinzugefügt: 80 zu jedem Host, so dass SSL unabhängig arbeiten könnte.


5
2018-05-21 11:42





Ex:

<VirtualHost 85.25.97.252:80>
       Servername domain.com
       ServerAlias ​​* .domain.com
       ServerAdmin webmaster@domain.com
       DocumentRoot "/var/www/domain.com/httpdocs/"
       <Verzeichnis "/var/www/domain.com/httpdocs/">
               Optionsindexe FollowSymLinks
               AllowOverride Alle
               Auftrag erlauben, ablehnen
               Erlaube von allen
      </ Directory>
   </ VirtualHost>


0
2017-09-27 07:13