PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Name based virtual hosts



LuMa
23.02.16, 22:19
Hallo,
ich verzweifel nun schon die ganze Zeit an der Konfiguration meines Apache Webservers (auf CentOS 7). Ich möchte eine normale Domain sowie zwei Subdomains "bedienen". Hier mal meine Situation beispielhaft dargestellt:

Es läuft ein WebServer. Aufgeschaltet ist dort eine Domain, sowie eine eine WildCard für die SubDomains.
IP: 6.6.6.6
Domain: luma.com

Document Root des Servers:
/var/www/html

Zusätzlich möchte ich auf 2 SubDomains reagieren:
sub1.luma.com
sub2.luma.com

Daraus ergibt sich folgende Ordnerstruktur:

/var/www/html
#########|_ luma.com
################|_ index.html
#########|_ sub1.luma.com
################|_ index.html
#########|_ sub2.luma.com
################|_ index.html
#########|_ index.html

(Ich hoffe man erkennt die Darstellung)

Für diese 3 Domains habe ich je 2 VHost Konfigurationen angelegt (HTTP und HTTPS). Der Document Root dieser VHosts ist jeweils der Domainname selbst. Und das funktioniert auch. Gebe ich im Browser die gewünscht Domain ein, sehe ich auch die richtige index.html-Datei. Das geht schonmal!
Problematisch wird es nun, wenn ich im Browser eine ungültige Subdomain oder die IP eingebe. Denn dann lande ich in meinem "Haupt" Document Root (/var/www/html) und kriege die dort abgelegte index.html zu sehen. Das ist ja auch richtig so. Nur kann ich nun von dort aus in die Ordner der Domains navigieren, was ich aber nicht möchte! Das ganze funktioniert, indem ich den Ordnernamen einfach an die IP/ungültige Addresse anhänge: 6.6.6.6/luma.com sowie blabla.luma.com/luma.com liefern mir die index.html aus dem Ordner /var/www/html/luma.com/index.html, die eigentlich nur über luma.com erreichbar sein sollte.

Was mache ich falsch? Ich habe die "Hauptseite" luma.com die in sites-available/luma.com.conf konfiguriert ist via Symlink unter dem Namen 00-default.conf in den sites-enabled Ordner gelinkt. Das heißt Apache müsste diese Konfiguration als ersten VHost erkennen und so zur Default Seite machen. Allerdings scheint das nicht so zu klappen.

Könnt ihr mir da auf die Sprünge helfen?

MfG,
Lukas

BetterWorld
24.02.16, 05:28
Fehlen nur noch die fehlerhaften Dateien der jeweiligen virtuellen Hosts.
(Oder die eine Datei, falls alles in einer Datei erledigt wird)

marce
24.02.16, 06:24
naja, da Deine richtigen Web-Verzeichnisse als UVZ im default-Document-Root enthalten sind ist das Verhalten des Apache völlig logisch, richtig und auch konsequent.

Leg die VZ / DocRoots der Subdomaines entweder "wo anders hin" - oder das VZ / DocRoot der default-Domain.
(es spricht ja nichts dagegen, z.B. /var/www/www.luma, /var/www/sub1.luma, ... anzulegen)

(krude Lösungen über .htaccess mit irgendwelchen Prüfungen lassen wir mal außen vor)

LuMa
24.02.16, 14:18
Fehlen nur noch die fehlerhaften Dateien der jeweiligen virtuellen Hosts.
(Oder die eine Datei, falls alles in einer Datei erledigt wird)


Sorry, aber die Antwort verstehe ich nicht ganz. Könntest du die Antwort etwas "spezifizieren".



naja, da Deine richtigen Web-Verzeichnisse als UVZ im default-Document-Root enthalten sind ist das Verhalten des Apache völlig logisch, richtig und auch konsequent.

Leg die VZ / DocRoots der Subdomaines entweder "wo anders hin" - oder das VZ / DocRoot der default-Domain.
(es spricht ja nichts dagegen, z.B. /var/www/www.luma, /var/www/sub1.luma, ... anzulegen)

(krude Lösungen über .htaccess mit irgendwelchen Prüfungen lassen wir mal außen vor)


Ja, klingt logisch jetzt wo du es nochmal erwähnst. Ist diese Konfiguration bedenklich? Wenn ich nun z.B. eine Anwndung installiere die einen eigenen public Ordner implementiert und ihre Konfiguration übergeordnet ablegt, könnte das ja ein Sicherheitsrisiko sein, oder?

marce
25.02.16, 06:04
könnte das ja ein Sicherheitsrisiko sein, oder?
Kommt immer drauf an.

Ich für mich habe beschlossen: im default-vhosst liegt so rein gar nichts rum bis auf eine index.html - kein UVZ, kein sonst was. Jede Webseite bekommt ihr komplett eigenes, unabhängiges DocRoot

LuMa
29.02.16, 18:13
Danke.

Ehrlich gesagt frage ich mich gerade, warum ich auf eine so bescheuerte Idee gekommen bin. Habe jetzt alles unter /var/www angelegt und alle meine Probleme haben sich erledigt.

Danke für die Hilfestellung.