Einfacher Apache-Proxy funktioniert nicht


10

Ich wollte nur ein einfaches Reverse-Proxy-Setup testen und jede Anfrage nur an Google umleiten. Jedenfalls funktioniert es nicht! Beim Versuch, auf localhost zu surfen, erhalte ich nur die Apache-Standardseite "Es funktioniert", aber kein Proxy.

Natürlich habe ich den Modul-Proxy proxy_http geladen. Die folgende Datei befindet sich unter "Sites verfügbar", wobei der symbolische Link "Sites aktiviert" ist. Ich habe auch den Server neu gestartet. Was könnte falsch sein?

<VirtualHost 192.168.1.2:8080>
      ProxyRequests off
      ProxyPreserveHost On
      <proxy *>
      Order deny,allow
      Allow from all
      </proxy >
      ProxyPass / http://www.google.de
      ProxyPassReverse / http://www.google.de
</VirtualHost >

Antworten:


8

Der Standard-vhost (der Inhalte bereitstellt /var/www, von denen die Seite "Es funktioniert" stammt) erhält die Anforderungen.

Es wird zuerst ServerNamegeladen und Sie haben kein für Ihren neuen vhost angegeben, sodass der "Standard" vhost jede Anfrage erhält. Ausführen apache2ctl -S- zeigt Ihnen, wie Anforderungen zugewiesen werden.

Wenn Sie die Standardwebsite nicht verwenden möchten, deaktivieren Sie sie mit a2dissite defaultund starten Sie Apache neu. Die Anforderungen werden dann an Ihren neuen Proxy gesendet <VirtualHost>.

Außerdem sollten Ihre abschließenden Schrägstriche beim Proxying immer übereinstimmen. Fügen Sie sie am Ende hinzu:

ProxyPass / http://www.google.de/
ProxyPassReverse / http://www.google.de/

Ich teste das oben genannte, aber wenn ich apachectl -S ausführe, sehe ich nicht, dass mein Port weitergeleitet wird. Ich sehe nur Port 443 und Port 80. Irgendwelche Ideen? @ Shane Madden
FabricioG

Ugh egal, ich habe die falsche Datei bearbeitet @Shane Madden
FabricioG
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.