Ich versuche, mithilfe einer Kombination aus Apache- und HOSTS-Dateien einen virtuellen Host auf meinem Windows-Rechner zu konfigurieren.
Ich möchte beispielsweise www.example.com
von meinem Server unter bedient werden localhost
. Der Port 80
wird jedoch von einem Citrix-Prozess belegt, der nicht geändert werden kann.
Meiner läuft also httpd
auf 81. Ich möchte Folgendes erreichen können.
- ich schlagehttp://www.example.comin meinem Browser.
- Die Apache Virtual Hosts-Konfiguration sollte diese Anfrage erhalten, obwohl sie auf 81 läuft. (Das ist mein Problem!)
- Seiten bereitstellen vonhttp://localhost:81/htdocs.
Ist das überhaupt möglich?
Folgendes ist der relevante Abschnitt in meinem httpd.conf
:
ServerName www.example.com:81
NameVirtualHost www.example.com:81
Und meine hosts
Datei enthält die folgende Zeile:
127.0.0.1 www.example.com
Antwort1
Fügen Sie den folgenden Code ein httpd.conf
und prüfen Sie, ob er funktioniert. Er leitet alle Anfragen intern http://localhost:8080/rat
anhttp://localhost:9080/rat
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /rat http://localhost:9080/rat
ProxyPassReverse /rat http://localhost:9080/rat
Die URL im Browser bleibt unverändert, http://www.example.com:8080/rat
der Inhalt wird jedoch vonhttp://localhost:9080/rat