Domain erkennen

Hallo zusammen!

Wenn eine Domain den DNS-Eintrag „A:128.1.1.1“ (oder so ähnlich) hat, dann werden ja bekanntlich alle Daten zu dieser Adresse weitergeleitet.
So, und wenn es jetzt zwei Domains gibt, die dann zu dieser Adresse geleitet werden, wie kann dann der Ziel-Rechner erkennen, wie die Domain heißt, desweiteren, wie erkennt er auch Subdomains; als Beispiel bei DynDNS?

Vielen Dank!
Gruß PcFreak92

Hallo,

Wenn eine Domain den DNS-Eintrag „A:128.1.1.1“ (oder so
ähnlich) hat, dann werden ja bekanntlich alle Daten zu dieser
Adresse weitergeleitet.

jein - deine Formulierung ist etwas seltsam, denn DNS leitet ja nichts weiter und der A-Record ist ja nicht unbedingt alles.

So, und wenn es jetzt zwei Domains gibt, die dann zu dieser
Adresse geleitet werden, wie kann dann der Ziel-Rechner
erkennen, wie die Domain heißt, desweiteren, wie erkennt er
auch Subdomains; als Beispiel bei DynDNS?

Das muss der Zielrechner im Rahmen des Protokolls mit dem Client ausmachen. Etwa in HTTP durch die Angabe Host:

GET /index.html HTTP/1.1
Host: www.example.net


Philipp

Das muss der Zielrechner im Rahmen des Protokolls mit dem
Client ausmachen. Etwa in HTTP durch die Angabe Host:

GET /index.html HTTP/1.1
Host: www.example.net

Was soll ich mit dieser Info anfangen? Ist das HTML, Bash, PHP, etc…

Hallo,

Das muss der Zielrechner im Rahmen des Protokolls mit dem
Client ausmachen. Etwa in HTTP durch die Angabe Host:

Was soll ich mit dieser Info anfangen?

wenn dir diese Antwort vage erscheint, bedenke, dass das in der vagen Fragestellung begründet sein kann.

Ist das HTML, Bash, PHP, etc…

HTTP ist das Hypertext-Transfer-Protocol, das hauptsächlich für die Übertragung von WWW-Seiten eingesetzt wird (vgl. http://de.wikipedia.org/wiki/Hypertext_Transfer_Prot…).

Der angegebene Code

GET /index.html HTTP/1.1
Host: www.example.net

ist die Anfrage, die der Client über TCP (standardmäßig Port 80) an die IP des Servers schicken kann, wenn du die Adresse http://www.example.net/index.html haben willst.


Philipp

Und wie kann ich die jetzt auswerten, wenn ich auf einem Debian-Server laufen habe?

Hallo,

Und wie kann ich die jetzt auswerten, wenn ich auf einem
Debian-Server laufen habe?

vielleicht suchst du die VirtualHost-Direktive des Apache-HTTP-Servers (http://httpd.apache.org/docs/2.2/mod/core.html#virtu…), aber da du dich standhaft weigerst zu sagen, was du machen möchtest, ist das nur Spekulation.


Philipp

Ok, dann pack ich halt aus: :wink:

Also, ich möchte, dass eine vollwertige domain per CNAME auf mein heimserver zugreift… Das heißt ich kann per wildcard auch subdomains machen, wie jeder andere server auch…
also wenn jemand eine anfrage aus subdomain1.domain.dyndns.org sendet, öffnet der apache-server nur die seite, wie sie halt normal OHNE subdomain aussieht, also einfach nur domain.dyndns.org
Der server soll nun erkennen, dass eine subdomain eingegeben wurde und den clienten auf ein unterverzeichnis weiterleitet…
Confixx hat das bei meinem alten webserver, den ich gemietet habe schon erledigt, da ich aber confixx nicht kaufen möchte…

Also: domainanfrage auf mein server -> (sub)domain(s) auswerten und ggf. weiterleitet

=> Gecheckt? :wink:

Hallo,

also wenn jemand eine anfrage aus subdomain1.domain.dyndns.org
sendet, öffnet der apache-server nur die seite, wie sie halt
normal OHNE subdomain aussieht, also einfach nur
domain.dyndns.org

also Apache-HTTP-Server. Da du einen Debian-Server erwähnt hast, gehe ich davon aus, dass du Debian/GNU-Linux 4.0 (Etch) mit Apache 2.2 einsetzt.

Der server soll nun erkennen, dass eine subdomain eingegeben
wurde und den clienten auf ein unterverzeichnis
weiterleitet…

Du kannst jetzt entweder die bereits erwähnte VirtualHost-Direktive benutzen, um auf jeder Subdomain eine eigene (virtuelle) Instanz von Apache zu starten, die du individuell konfigurieren kannst. Als Grundlage für deine Konfiguration (in /etc/apache2/sites-available und ein Link in /etc/apache2/sites-enabled) kannst du /usr/share/doc/apache2.2-common/examples/apache2/extra/httpd-vhosts.conf verwenden.

Oder du machst tatsächlich eine Weiterleitung auf ein Unterverzeichnis, indem du eine entsprechende RewriteRule einsetzt. Das erscheint mir aber eher als zweite Wahl.


Philipp

Nun, er erkennt die Domain immer noch nicht wenn ich als domain z.b. bla.de verwende! Er nimmt dann immer die „*“-Domain, also die, die alle anfragen beantwortet, wenn eine andere instanz sie nicht beantwortet…

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Du kannst jetzt entweder die bereits erwähnte
VirtualHost-Direktive benutzen, […]
Oder du machst tatsächlich eine Weiterleitung auf ein
Unterverzeichnis, indem du eine entsprechende RewriteRule
einsetzt.

Nun, er erkennt die Domain immer noch nicht wenn ich als
domain z.b. bla.de verwende! Er nimmt dann immer die
„*“-Domain, also die, die alle anfragen beantwortet, wenn eine
andere instanz sie nicht beantwortet…

was hast du konfiguriert und wie stellst du die Anfrage?


Philipp

was hast du konfiguriert und wie stellst du die Anfrage?

Nun in der Datei in der die VirtualHosts eingerichtet sind habe ich nochmal eine Kopie mit den Gleichen Daten unten eingefügt und anstelle von „*“ als „Lausch-Adresse“ „blabla.de“ (Bsp) eingefügt.
Und die ganze Sache so angefragt: Domain „blabla.de“ - CNAME: „blabla.dyndns.org“ - Mein Heimrouter: „192.168.1.2“ (per DMZ)

Gruß PcFreak92

Hallo,

Nun in der Datei in der die VirtualHosts eingerichtet sind
habe ich nochmal eine Kopie mit den Gleichen Daten unten
eingefügt und anstelle von „*“ als „Lausch-Adresse“
blabla.de“ (Bsp) eingefügt.

das erscheint mir wenig sinnvoll. Im Zweifel geht nämlich die Anfrage nicht an die IP-Adresse, zu der blabla.de beim Starten des Apache aufgelöst wird, und wird daher verworfen.

Eine Einschränkung des Interface, auf dem gelauscht werden soll ist ja nicht nötig. Also etwa so (vgl. etwa http://httpd.apache.org/docs/2.2/vhosts/name-based.html):

NameVirtualHost \*:80


ServerName domain.dyndns.org
DocumentRoot /www/domain

ServerName subdomain.domain.dyndns.org
DocumentRoot /www/subdomain


Philipp

Gut und wie behandelt er dann sub2.subdomain.domain.dyndns.org? geht die unter den ersten in der Datei oder ignoriert er den Teil „sub2.“ und geht auf /www/subdomain ?

Gruß PcFreak92