2 Virtuelle Server unter einem Hut
Peter Mairhofer
- webserver
Hallo!
In unserem Intranet habe ich einen Intranet Server laufen, der über eine interne DNS Adresse erreichbar ist.
Das Intranet ist als statischer virtueller Server eingerichtet.
Jetzt möchte ich das Intranet aber auch von aussen mittels dyndns zugänglich machen, das hat jetzt natürlich einen anderen virtuellen Server. Das muss ein Name-Virtual Server sein.
Ist es möglich, das beides unter eine Konfiguration zu bekommen oder muss ich dazu zwei virtuelle Server erstellen, einen für intern, einen für extern und die ganze Konfiguration in der httpd.conf doppelt machen?
In beiden Fällen liegt der www-root auf /home/http/intranet
Wie mache ich das am elegantesten?
Peter
PS: Ganz zu schweigen von den anderen Problemen die auf mich zukommen, z.B. Forum etc, alles was einen statischen Hostnamen benötigt :-(
Hallo Peter,
Ist es möglich, das beides unter eine Konfiguration zu bekommen oder muss ich dazu zwei virtuelle Server erstellen, einen für intern, einen für extern und die ganze Konfiguration in der httpd.conf doppelt machen?
Was Du machen kannst:
<VirtualHost ...>
ServerName ...
Include konfigurationsdatei
</VirtualHost>
<VirtualHost ...>
ServerName ...
Include konfigurationsdatei
</VirtualHost>
In der Datei 'konfigurationsdatei' stellst Du dann alles ein, was für beide gelten soll. (DocumentRoot, Logfiles, etc.) Dann hast Du auch nur eine zentrale Stelle, die geändert werden soll.
PS: Ganz zu schweigen von den anderen Problemen die auf mich zukommen, z.B. Forum etc, alles was einen statischen Hostnamen benötigt :-(
Für die Zukunft: Lies die CGI-Umgebungsvariable HTTP_HOST aus (in Perl z.B. über $ENV{'HTTP_HOST'}, in PHP z.B. $_SERVER['HTTP_HOST']) - dort steht immer der aktuelle HTTP-Hostame drin.
Viele Grüße,
Christian
Moin!
Was Du machen kannst:
Was du auch machen kannst:
<VirtualHost ...>
ServerName ... # Dein einer Name des Servers
ServerAlias ... # Dein anderer Name des Servers
Include konfigurationsdatei
</VirtualHost>
Damit sparst du dir die doppelte Konfigurationsarbeit (welche man ja trotzdem zentral in einer Datei lagern kann - der Nachteil ist, dass der Server sich in gewissen Punkten eben nur als der unter "ServerName" betrachtet - vorzugsweise bei Redirects oder möglicherweise auch bei HTTP-Auth.
Zwei virtuelle Hosts draus zu machen ist sinnvoll, wenn du intern nur mit dem internen Namen rankommst, aber nicht mit dem DynDNS-Namen (das hängt möglicherweise dann am Router, der Zugriffe von intern auf die externe IP-Adresse nicht zuläßt).
- Sven Rautenberg