So richten Sie den Proxy in .htaccess ein

9

Die Apache-Dokumentation besagt, dass RewriteRule und die in die Serverkonfiguration eingefügt werden sollten, aber sie können wegen gemeinsamer Host-Situationen in htaccess abgelegt werden. Ich bin in einer solchen Situation.

Ich versuche, einen transparenten Proxy einzurichten:

%Vor%

Das funktioniert gut ... außer Weiterleitungen (wie wenn /foo auf /bar umleitet). Redirects gehen zurück zu example.com, nicht zu meinem Server.

Ich verstehe, dass die ProxyPassReverse Direktive dies löst, aber ich bekomme eine "Internal Server Error" Seite wenn ich diese zu .htaccess

hinzufüge

Im Gegensatz zu den Rewrite-Anweisungen funktioniert ProxyPassReverse nicht in htaccess .

Wie richte ich einen transparenten Proxy in einer Shared-Hosting-Situation ein, oder ist das nicht möglich?

(Dies erscheint vernünftig, da Rewrite bereits 80% des Weges dorthin zurücklegt und ein transparenter Proxy in einem htaccess nicht stören würde, ihn in einem anderen zu haben.)

    
Paul Draper 06.10.2013, 03:25
quelle

1 Antwort

13

Leider bin ich ziemlich sicher, was Sie tun möchten, ist nicht möglich: Ich versuche genau dasselbe zu tun! Aus meiner Forschung bin ich ziemlich zuversichtlich, dass es nicht möglich ist.

Einfach gesagt, Sie müssen ProxyPassReverse verwenden, das nur auf einer VirtualHost-Ebene (oder ähnlich) verfügbar ist; keine Htaccess-Ebene.

Bearbeiten: Die einzige Möglichkeit, die ich erreicht habe, besteht darin, den antwortenden Server / die Anwendung so zu konfigurieren, dass er weiß, dass er hinter einem Proxy steht und die Seiten entsprechend bedient. Das heißt, ich verwende .htaccess, um auf einen anderen Server wie folgt umzuleiten:

%Vor%

Dann habe ich auf dem Anwendungsserver - in diesem Fall eine JIRA-Installation - den Java Tomcat / Catalina entsprechend konfiguriert, um Seiten mit den Proxy-Informationen zu bedienen:

%Vor%

Das ist jedoch nicht vollständig transparent; Der App-Server muss Seiten in einer Proxy-Art bereitstellen. Es könnte jedoch von Nutzen sein.

    
Michael Sallaway 17.10.2013, 06:22
quelle