Apache ProxyPass oder ProxyPassMatch, um eine Datei vom Proxy auszuschließen

8

Ich habe einen VirtualHost so eingestellt, dass er alle Anforderungen an einen anderen Server weiterleitet, der auf Port 9000 ausgeführt wird.

Was ich habe :

ProxyPass / http://localhost:9000/
ProxyPassReverse / http://localhost:9000/

Was ich versucht habe:

! ProxyPass /test.html http://localhost:9000/
ProxyPass /test.html ! http://localhost:9000/
ProxyPassMatch !^/(.*\.html)$ http://localhost:9000/$1 

Nichts davon hat funktioniert ...

Ich möchte eine Datei oder eine Reihe von Dateien vom Proxy ausschließen. In der Dokumentation steht etwas über "Die! -Richtlinie ist in Situationen nützlich, in denen Sie ein Unterverzeichnis nicht rückwärts proxyieren möchten.", Aber es gibt keine Beispiele für diese Situation.

Andrei
quelle

Antworten:

13

Ok, es hat sich herausgestellt, es stellt sich heraus, dass es offensichtlich nicht notwendig ist, den Proxy für ausgeschlossene Pfade anzugeben.

ProxyPass / somedir!

funktioniert super

Andrei
quelle
Hmm. Dies ist interessant, da Sie mit dieser Anweisung möglicherweise das Verzeichnis "/ images" auf dem Server ausschließen können, wenn Sie AJP zum Verknüpfen mit Tomcat verwenden (zum Bereitstellen von dynamischem JSP-Inhalt), sodass Tomcat die Images anstelle von Tomcat bereitstellt Kater???
Djangofan
Nun, das tut es. Ich bin mir nicht sicher, ob ich deine Frage verstehe.
Andrei
2
Beachten Sie, dass dies vor den anderen ProxyPass-Anweisungen erfolgen muss, um eine Wirkung zu erzielen, da die erste Übereinstimmung diejenige ist, die angewendet wird.
Ryan C. Thompson