2013-04-16 2 views

Antwort

26

Der Proxy kann den Anforderungen, die er erhält und an das Back-End weiterleitet, zusätzliche (oder überschreibende) Header hinzufügen. Diese können verwendet werden, um Informationen an das Back-End zu übermitteln.

Bisher habe ich ein paar zu zwingen, die Verwendung von https in URL-Schema verwendet gesehen:

X-Forwarded-Protocol: https 
X-Forwarded-Ssl: on 
X-Url-Scheme: https 

Und wikipedia auch erwähnt:

# a de facto standard: 
X-Forwarded-Proto: https 
# Non-standard header used by Microsoft applications and load-balancers: 
Front-End-Https: on 

das, was Sie auf dem Virtualhost hinzufügen sollten auf : andere Proxies sollten ähnliche Funktionalität haben

RequestHeader set X-FORWARDED-PROTOCOL https 
RequestHeader set X-Forwarded-Ssl on 
# etc. 

Ich denke, es ist am besten, sie alle zu setzen, oder setzen Sie eine, die funktioniert und entfernen Sie die anderen bekannten. Um böse Kunden daran zu hindern, mit ihnen zu spielen.

+2

Es ist X-Forwarded-Proto, nicht X-Forwarded-Protokoll, richtig? – mmoya

+2

@mmoya Ich habe sie beide gesehen. Letzteres gewinnt sogar in einem [googlebattle] (http://www.googlebattle.com/?domain=x-forwarded-proto&domain2=x-forwarded-protocol&submit=Go%21). –

+6

[RFC 7239: Weitergeleitete HTTP-Erweiterung] (https://tools.ietf.org/html/rfc7239) :) – mmoya