
117471
03.07.2015, aktualisiert am 06.07.2015
Apache2: VirtualHost-Konfiguration bei (direktem) Aufruf über die IP-Adresse
Vorab: Es kann sein, dass ich gedanklich gerade voll ins Klo greife. Ich lerne gerade Apache2, möchte einen Testserver aufsetzen und stehe gedanklich voll auf dem Schlauch. Vermutlich habe ich etwas total falsch verstanden.
Ich habe meine vhosts wie folgt konfiguriert:
mail.conf
mail-ssl_owaproxy.conf
Hinweis: In dieser Datei gibt es noch zusätzliche Einträge für einen (funktionierenden) ReverseProxy, der auf einen Exchanger zeigt. Deshalb der exotische Name.
owncloud.conf
owncloud-ssl.conf
apache2ctl -S listet die Hosts genau so, wie ich mir das vorgestellt habe:
Ich möchte erreichen, dass Anfragen, die direkt an die IP-Adresse gehen, in einen weiteren VirtualHost ausgesteuert werden und packe eine zusätzliche Konfiguration dazu:
default.conf
Wider Erwarten kidnappt mir dieser Eintrag jedoch zusätzlich die Konfiguration für owncloud.acme.tld:
Anmerkung: owncloud.acme.tld ist der voll qualifizierte (im Linux konfigurierte und im DNS hinterlegte) Hostname. Ich vermute hier die Ursache - aber wie kann ich erreichen, dass die VirtualHosts aus der default.conf nur auf direkten Aufruf via IP-Adresse oder "illegalen" Hostnamen reagieren?
Wo liegt der Gedankenfehler?
Ich habe meine vhosts wie folgt konfiguriert:
mail.conf
<VirtualHost *.80>
ServerName mail.acme.tld
...
mail-ssl_owaproxy.conf
<VirtualHost *.443>
ServerName mail.acme.tld
...
owncloud.conf
<VirtualHost *.80>
ServerName owncloud.acme.tld
...
owncloud-ssl.conf
<VirtualHost *.443>
ServerName owncloud.acme.tld
...
apache2ctl -S listet die Hosts genau so, wie ich mir das vorgestellt habe:
VirtualHost configuration:
*:443 is a NameVirtualHost
default server mail.acme.tld (/etc/apache2/sites-enabled/mail-ssl_owaproxy.conf:11)
port 443 namevhost mail.acme.tld (/etc/apache2/sites-enabled/mail-ssl_owaproxy.conf:11)
port 443 namevhost owncloud.acme.tld (/etc/apache2/sites-enabled/owncloud-ssl.conf:2)
*:80 is a NameVirtualHost
default server mail.acme.tld (/etc/apache2/sites-enabled/mail.conf:1)
port 80 namevhost mail.acme.tld (/etc/apache2/sites-enabled/mail.conf:1)
port 80 namevhost owncloud.acme.tld (/etc/apache2/sites-enabled/owncloud.conf:1)
Ich möchte erreichen, dass Anfragen, die direkt an die IP-Adresse gehen, in einen weiteren VirtualHost ausgesteuert werden und packe eine zusätzliche Konfiguration dazu:
default.conf
<VirtualHost _default_.80>
# ServerName nix
...
</VirtualHost>
<VirtualHost _default_.443>
# ServerName nix
...
</VirtualHost>
Wider Erwarten kidnappt mir dieser Eintrag jedoch zusätzlich die Konfiguration für owncloud.acme.tld:
VirtualHost configuration:
*:443 is a NameVirtualHost
default server owncloud.acme.tld (/etc/apache2/sites-enabled/default.conf:11)
port 443 namevhost owncloud.acme.tld (/etc/apache2/sites-enabled/default.conf:11)
port 443 namevhost mail.acme.tld (/etc/apache2/sites-enabled/mail-ssl_owaproxy.conf:11)
port 443 namevhost owncloud.acme.tld (/etc/apache2/sites-enabled/owncloud-ssl.conf:2)
*:80 is a NameVirtualHost
default server owncloud.acme.tld (/etc/apache2/sites-enabled/default.conf:1)
port 80 namevhost owncloud.acme.tld (/etc/apache2/sites-enabled/default.conf:1)
port 80 namevhost mail.acme.tld (/etc/apache2/sites-enabled/mail.conf:1)
port 80 namevhost owncloud.acme.tld (/etc/apache2/sites-enabled/owncloud.conf:1)
Anmerkung: owncloud.acme.tld ist der voll qualifizierte (im Linux konfigurierte und im DNS hinterlegte) Hostname. Ich vermute hier die Ursache - aber wie kann ich erreichen, dass die VirtualHosts aus der default.conf nur auf direkten Aufruf via IP-Adresse oder "illegalen" Hostnamen reagieren?
Wo liegt der Gedankenfehler?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 276385
Url: https://administrator.de/forum/apache2-virtualhost-konfiguration-bei-direktem-aufruf-ueber-die-ip-adresse-276385.html
Ausgedruckt am: 02.05.2025 um 00:05 Uhr
5 Kommentare
Neuester Kommentar

Moin,
in allen deinen Configs überall durch einen Doppelpunkt ersetzen
Gruß jodel32
<VirtualHost _default_.80>
ich würde hier erst mal die Punktein allen deinen Configs überall durch einen Doppelpunkt ersetzen
Gruß jodel32

Zitat von @117471:
Den Unterschied zwischen <VirtualHost _default_:80> und <VirtualHost *:80> konnte mir hingegen noch niemand
erklären. Gibt es da überhaupt einen?
Den Unterschied zwischen <VirtualHost _default_:80> und <VirtualHost *:80> konnte mir hingegen noch niemand
erklären. Gibt es da überhaupt einen?
http://httpd.apache.org/docs/2.2/vhosts/examples.html
Der Unterschied ist das ein Default-vHost einspringt wenn eine undefinierte IP Adresse benutzt wurde. Das *:80 besagt ja stattdessen: alle IP Adressen die der Host aktiv nutzt
Gruß jodel

So würde ich das dann auch sehen.