Windows Sever IIS reverse Proxy (ARR) verhindert Zugriff auf URLs mit Plus („+“) Zeichen

Der IIS mit ARR verhindert „by Default“ den Zugriff auf Adressen (URLs), die reservierte Zeichen enthalten. Genauer gesagt werden Anfragen mit solchen Zeichen von der IIS-Anfragefilterung blockiert und mit einen Fehler 404 beantwortet.

Die IIS-Anforderungsfilterung prüft standardmäßig auf viele verschiedene Dinge. Das Verhalten wird aber durch die Konfiguration gesteuert und kann (muss) pro Site angepasst werden.

Dazu gehören:

  • Doppelte Escapezeichen (..%25)
  • Prozent-Zeichen „%“-Zeichen
  • Plus „+“-Zeichen (Leerzeichen, also auch „%2b“)
  • Nicht-ASCII-High-Bit-Zeichen (ja, auch Emojies)
  • Punkt im URI-Pfad, wenn eine Anfrage, die einen anderen Punkt als den für die Ressourcenerweiterung enthält, abgelehnt wird (http://foo/a.b/bar.aspx)

Lösung

In der betreffenden web.config die Ausnahme für Double-Escaping hinzufügen:

<system.webServer>

  <security>
    <requestFiltering allowDoubleEscaping="true">
    </requestFiltering>
  </security>

[...]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.