2010-09-29 7 views
7

Ich benutze AAR, um Proxy-Anfragen an eine Confluence-Installation umzukehren. Dies funktioniert einwandfrei, wenn die URL keine Leerzeichen enthält. Sobald ein Leerzeichen zur URL hinzugefügt wird, gibt die Anfrage eine 404 zurück, die 404 scheint von IIS und nicht von der Confluence-Instanz zu stammen.Application Request Routing (ARR) IIS 7 Leerzeichen in URL

Ich habe Tracing Anforderungsfehler ermöglichen, wie hier beschrieben: http://learn.iis.net/page.aspx/488/using-failed-request-tracing-rules-to-troubleshoot-application-request-routing-arr/

Auf Anfragen, die die 404 das AAR-Modul nicht zurück zu treten scheint, gibt es keine Informationen über sie in den Protokollen. Ich habe dies gegen Seiten getestet, die 200 zurückgeben, und ich kann sehen, dass das Neuschreiben korrekt funktioniert.

Warum verarbeitet AAR keine URLs mit Leerzeichen? Meine Reverse-Proxy-Regel stimmt für alles überein:

(.*) 

Und ich habe keine Bedingungen für die Regel angewendet.

+0

Ich hatte Dieses Problem mit YouTrack auch. – Nathan

Antwort

11

Sie müssen doppeltes Escaping zulassen.

Zur IIS -> Wählen Sie Ihren Server-Knoten -> Anforderungsfilterung -> Featureeinstellungen bearbeiten ... -> Tick 'Erlaubt Doppel Flucht'

Dies löst Ihr Problem mit Confluence und Leerzeichen in URLs.

+0

Ich weiß nicht, warum das noch nicht abgestimmt wurde. – Bronumski

0

Sie können auch die Befehlszeile verwenden

% windir system32 \ inetsrv \ appcmd set config "Default Web Site" -Abschnitt% \: system.webServer/security/request -allowDoubleEscaping: true