Apache lauscht auf Domains

Alles, was den Apache betrifft, kann hier besprochen werden.

Apache lauscht auf Domains

Postby Gecko3600 » 21. January 2014 11:43

Guten Tag liebe Leute :)

Ich hab ein Problem bzw. eine Grundsatzfrage zu Apache...
Via google.de, etc. habe ich leider nichts gefunden, deswegen wende ich mich an euch.

Es geht darum:
Mein apache2 läuft auf einem 12.10 x64 Server-Ubuntu und ich habe mir 2 domains angemietet.
Ich nenne sie mal "DomainX und DomainY"

DomainX soll auf :443 mit SSL laufen und die DomainY auf :80.
Problem: Ich erreiche die Seite (welche auf :80 läuft) auch über DomainX und umgekehrt. [Beispiel: DomainX:80]

Im Nameserver habe ich die selbe IP für die Domains als Record eingetragen. (Ist ja nur ein Server)
Mir erscheint es natürlich logisch, dass die Domains zu der IP aufgelöst werden und dann apache anspricht..

Deswegen die Frage: Ist es möglich, apache2 so einzustellen, dass er auf eine Domain lauscht?
Ich möchte haben, dass die Seite hinter :80 NUR MIT DomainY und :443 NUR MIT DomainX erreichbart ist.


Vielen Dank für eure Hilfe im Voraus... :)

Gruß
Gecko
Gecko3600
 
Posts: 1
Joined: 21. January 2014 11:33
Operating System: Ubuntu 12.10 x64

Re: Apache lauscht auf Domains

Postby Nobbie » 21. January 2014 13:18

Ich vermute, Du schmeißt ein paar Dinge durcheinander:

a) Apache "lauscht" nicht auf Domains (nie). Apache lauscht auf IPs und Ports. Dabei ist jede Kombination aus IP und Port zumindest theoretisch "lauschbar", in der Default-Einstellung (ohne jede LISTEN Anweisung) lauscht Apache auf ALLEN IPs und ALLEN Ports. Das hat mit "Domains" überhaupt nichts zu tun

b) Domains (beispielsweise DomainX und DomainY) werden in aller Regel von Serverprovidern eingerichtet (bis lauf lokale nur im LAN gültige Domains) und eine Domain ist mit einer IP verknüpft. Die DomainX und die DomainY kann mit verschiedenen, aber auch mit gleichen IPs verknüpft sein.

Gemäß HTTP/1.1 Spezifikation wird einem HTTP Request im Header der sog. "Host" mitgegeben, das ist der Name der Domain (DomainX oder DomainY in diesem Fall). Aber Apache lauscht dennoch nur auf den IPs. Aber es gibt die Konfigurationsmöglichkeit, dass Apache sich unterschiedlich verhält, in Abhängigkeit davon, was in dieser Host-Variablen drin steht. Und diese Möglichkeit nennt sich "VirtualHost". Bei einem VirtualHost muss die IP (oder auch ein Bereich von IPs, dito für den Port) angegeben werden und man kann dann innerhalb des VirtualHost mit der Konfiguration "ServerName" festlegen, für welchen "Host" (s.o.) diese Konfiguration gilt.

Ob die von Dir genannten DomainX und DomainY auf die gleiche IP verweisen, hast Du leider nicht erklärt. Davon hängt u.a. ab, wie man genau den VirtualHost definiert. Im Prinzip kann man nur dann überhaupt verhindern, dass Apache auf der "jeweils anderen Domain:Port" lauscht, wenn diese auf verschiedene IPs verweisen. Das ist aber nicht notwendig und wenn DomainX und DomainY die gleiche IP belegen, geht es rein logisch schon gar nicht. Ist auch gar nicht nötig, Du musst so oder so für diese beiden Fälle eigene VirtualHost definieren und dort das Verhalten festlegen.

Und für die "unerwünschten" Kombinationen aus Domain und Port kannst Du entweder auch eigene VirtualHost anlegen und dort direkt auf eine Fehlerseite verweisen, oder Du definierst einen allgemeinen VirtualHost, der immer dann zieht, wenn keiner der beiden bekannten VirtualHosts angefordert wird.

Lies Dir also in Ruhe dir Doku zu VirtualHosts durch.

P.S.: Ich sehe gerade, Du hast beide Domains auf eine IP eingerichtet. Damit ist es sogar unmöglich zu verhindern, dass Apache gar nicht erst auf die jeweils "falsche" Domain lauscht, denn das geht ja gar nicht, Apache muss ja zwangsläufig auf IP:80 und IP:443 lauschen (wobei IP eben Deine IP ist). Und damit lauscht er bei beiden Domains auf diesen beiden Ports (mindestens), denn beide Domains verweisen auf IP. Und Apache lauscht auf IP, nicht auf Domain.
Nobbie
 
Posts: 13182
Joined: 09. March 2008 13:04


Return to Apache

Who is online

Users browsing this forum: No registered users and 223 guests