Code changed in jenkins
User: Jesse Glick
Path:
core/src/main/java/hudson/diagnosis/ReverseProxySetupMonitor.java
core/src/main/java/jenkins/model/Jenkins.java
core/src/test/java/jenkins/model/JenkinsGetRootUrlTest.java
test/src/test/java/hudson/diagnosis/ReverseProxySetupMonitorTest.java
http://jenkins-ci.org/commit/jenkins/cffe9df0176b0ff895554ce7f2ea4d2f20062351
Log:
[FIXED JENKINS-23294] Deal with X-Forwarded-Port.
If this is set, use it instead of ServletRequest.getServerPort() for purposes of getRootUrlFromRequest().
Also treat the default port as scheme-specific in that method (which presumes that we in fact got the reported port right).
And enhance the reverse proxy setup monitor to validate that the Referer header (/manage)
actually matches what we have computed from getRootUrlFromRequest;
if it does not, something is messed up, though it may require some digging to find what.
(Would be better to let the monitor specify the exact problem it determined,
though this is not always actually possible;
for example if you are missing AllowEncodedSlashes NoDecode in Apache,
you just get a 404 from Apache without even getting to Jenkins.)
Code changed in jenkins
User: Stephen Connolly
Path:
core/src/main/java/jenkins/model/Jenkins.java
http://jenkins-ci.org/commit/jenkins/5bad446dd51d31efd60538eab5c87bdde57114e9
Log:
[FIXED JENKINS-23294] Interpret X-Forwarded-Port
that a header value may contain a comma separated list if there were multiple forwarding hops.