Bereitstellung von Subdomain-Routing durch Ändern von /etc / hosts (wie geht das auf dem Remote-Server?)

Ich verwende eine verschlungene und schlecht dokumentierte Software (sfDomainRoutePlugin), um Subdomain-Funktionen für meine Website bereitzustellen. Ich verwende Apache als Webserver und führe ein kopfloses Ubuntu 10.0.4 LTS auf dem Server aus.

Nach langem Ausprobieren stellte ich fest, dass die einzige Möglichkeit, meine generierten Subdomain-Links zum Laufen zu bringen (ohne den Fehler "Server nicht gefunden" zu erhalten), darin bestand, die Subdomain-Namen in meine /etc/hosts-Datei fest zu codieren.

Dies funktioniert gut, wenn ich auf localhost teste - ich möchte die Lösung jedoch auf einem Remote-Server bereitstellen, auf dem mehrere virtuelle Server (verschiedene Websites) ausgeführt werden. Der Remote-Server verwendet die Datei /etc/hosts überhaupt nicht, da jede Website einen eindeutigen Namen hat.

Meine Frage lautet: Kann ich einfach die fest codierten Domäneneinträge (zusammen mit der statischen IP-Adresse) in die Datei etc/hosts eingeben? oder gibt es eine andere Möglichkeit, dies zu tun?

Mein vorgeschlagener Ansatz wäre zu ändern die Datei / etc / hosts auf dem Remote-Server wie folgt:

123.456.789.123    foo.example.com
123.456.789.123    foo1.example.com
123.456.789.123    foo2-bar.example.com

Wobei 123.456.789.123 die statische IP des Remote-Servers ist.

Ist das der Weg, es zu tun?

Ich wäre besonders dankbar, von Anytone zu hören, der es geschafft hat, sfDomainRoutePlugin für einen ähnlichen Zweck in einer Produktionsumgebung zu verwenden.

Author: Homunculus Reticulli, 2011-10-01

2 answers

If alle subdomain zugestellt werden muss, indem Sie einen physischen Standort haben Sie:

  • Schreibe in DNS-Zone smth.wie

    Www IN EINER IP-Adresse

    Somename IN EINER anderen IP-Adresse / falls nötig /

    • IN CNAME www

Letzte Datensätze geben Ihnen für alle und alle undefinierten in Zonennamen IP von www als Antwort

  • Definieren Sie in der Systemsteuerung *.domainname als Alias für www Website

Kann ich einfach die fest codierten Domäneneinträge (zusammen mit der statischen IP-Adresse) in die Datei etc/hosts eingeben?

Nein. Mit Hosts können Sie Anforderungen an den Server weiterleiten, aber es kann keine Anforderungen verarbeiten, ohne über die Zuordnung von Subdomänen Bescheid zu wissen (diese Sites sind für den Server nicht vorhanden)

 2
Author: Lazy Badger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-10-01 12:44:35

Da alle Ihre Domains / Subdomains dieselbe IP-Adresse verwenden, müssen wir uns keine Sorgen um Reverse-Proxys machen. siehe unten für einige Beispiele. Diese sind für verschiedene Domains, funktionieren aber genauso gut für die Subdomains. Sie sollten Ihre Hosts-Datei nicht bearbeiten müssen.

# Ensure that Apache listens on port 80
Listen 80

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example1.com

# Other directives here

</VirtualHost>

<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example2.org

# Other directives here

</VirtualHost> 

Außerdem Ping jede deiner Subdomains an. Wenn sie Ihre statische IP-Adresse nicht zurückgeben, wissen Sie, dass es sich um ein DNS/Record-Problem handelt. Möglicherweise müssen Sie sich das Setup Ihrer Domainregistrierung erneut ansehen oder warten für die DNS (in der Regel 15 Minuten bis eine Stunde) zu treten in.

 1
Author: kobaltz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-10-01 12:48:45