-
Notifications
You must be signed in to change notification settings - Fork 552
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Don't forward proto if we receive the header #131
base: master
Are you sure you want to change the base?
Conversation
If we receive a header for X-Forwarded-For and we have the parameter forwardIP, we add the IP of this machine to the list of IPs. However for X-Forwarded-Proto it is not a list. We send the proto of the existing request (if forwardIP is enabled). This change honors the header if we receive it
@@ -446,6 +446,10 @@ private void setXForwardedForHeader(HttpServletRequest servletRequest, | |||
|
|||
String protoHeaderName = "X-Forwarded-Proto"; | |||
String protoHeader = servletRequest.getScheme(); | |||
String existingProtoHeader = servletRequest.getHeader(protoHeaderName); | |||
if (existingProtoHeader != null) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine. Please add a comment that this header is not a list.
Can you confirm this PR is still valid? I can commit it. |
Ping |
I'm sorry for the (VERY!) late reply. We use the modified code in a forked version, but we haven't keep up with most recent versions and we're moving away from the code that uses this library. |
I understand; I'm a lazy steward here :-) |
This change is a bit more controversial than the previous one. Feel free to decline if it doesn't suit.
When upgrading from version 1.7 to version 1.10, we found the X-Forwarded-Proto header was no longer being honoured when passing through the proxy. The header was being replaced.
For X-Forwarded-For, the behaviour was easier since we can add the IP to the list. However my understanding is that X-Forwarded-Proto it is not a list. We could disable forwardip, or just ignore current protocol if we have a header.