https://github.com/jenkinsci/jenkins/commit/19d8b80bb2f33e4877c7170bcca8bfa318ebe77d
should address the crazy non-standard headers used in yet more crazy ways!


On 29 July 2014 09:27, Stephen Connolly <[email protected]>
wrote:

> So it looks like there is a reverse proxy in the way, and your reverse
> proxy is abusing the X-Forwarded-Host header... which should have just the
> host name not the port... and X-Forwarded-Port should be the port... at
> least that's what the Jenkins code expects (it is perhaps a bug in the
> Jenkins code... but that is up for debate when dealing with X- headers)
>
>
> On 28 July 2014 22:22, Hansen Loke <[email protected]> wrote:
>
>> I've reverted the move for now as there were some backlogs of builds to
>> clear up. I've tried the commands in the reverted state and it gives:
>>
>> http://my.machine.com:8080/jenkins/
>> http://my.machine.com:8080/jenkins/
>> my.machine.com:8080
>> null
>>
>> I'll try the move again tomorrow with the commands. It is possible that
>> reverse proxy is in place. The server has access to two vlans which may
>> confuse things abit, but I was thinking that I'm just changing the location
>> of where the Jenkins home is and running from different user that all other
>> settings should just be the same.
>>
>>
>> On Monday, 28 July 2014 18:14:07 UTC+1, Daniel Beck wrote:
>>
>>> Run the following in Script Console and report the output:
>>>
>>>         println Jenkins.instance.rootUrlFromRequest
>>>         println JenkinsLocationConfiguration.get().url
>>>         println 
>>> org.kohsuke.stapler.Stapler.currentRequest.getHeader('X-Forwarded-Host')
>>>
>>>         println 
>>> org.kohsuke.stapler.Stapler.currentRequest.getHeader('X-Forwarded-Port')
>>>
>>>
>>> Are you accessing Jenkins through a reverse proxy?
>>>
>>> On 28.07.2014, at 18:12, Hansen Loke <[email protected]> wrote:
>>>
>>> > The config is the same as before the move, so it's:
>>> http://my.machine.com:8080/jenkins/
>>> >
>>> >
>>> >
>>> > On Monday, 28 July 2014 17:08:23 UTC+1, Daniel Beck wrote:
>>> > What's configured in Manage Jenkins » Configure System » Jenkins
>>> Location » Jenkins URL?
>>> >
>>> > On 28.07.2014, at 12:08, Hansen Loke <[email protected]> wrote:
>>> >
>>> > > Hi,
>>> > >
>>> > > Recently I've moved the Jenkins installation to a different HDD
>>> location on the same host, and to be started by a different user, reasons
>>> for the move was that it was previously freeloading from another user.
>>> After this move all *nix slave nodes connects fine but the windows jnlp
>>> slave node doesn't come up anymore with the following errors in the slave
>>> node logs:
>>> > >
>>> > > jenkins-slave.err.log:
>>> > >
>>> > > JNLP file http://my.machine.com:8080/jenkins/computer/node01/slave-
>>> agent.jnlp?encrypt=true has invalid arguments: [<some_hex>, node01,
>>> -url, http://my.machine.com:8080/jenkins/, -url,
>>> http://my.machine.com:8080:8080/jenkins/, -headless, -jar-cache,
>>> C:\.jenkins\cache\jars]
>>> > > Most likely a configuration error in the master
>>> > > "http://my.machine.com:8080:8080/jenkins/"; is not a valid value for
>>> "-url"
>>> > >
>>> > >
>>> > > I had a look in the downloaded slave-agent.jnlp file from the
>>> website and it has:
>>> > >
>>> > > <jnlp spec="1.0+" codebase="http://my.machine.
>>> com:8080/jenkins/computer/node01/"><information><title>Slave Agent for
>>> node01</title><vendor>Jenkins project</vendor><homepage href="
>>> https://jenkins-ci.org/"/></information><security><
>>> all-permissions/></security><resources><j2se version="1.5+"/><jar href="
>>> http://my.machine.com:8080/jenkins/jnlpJars/remoting.jar"/><property
>>> name="hudson.showWindowsServiceInstallLink" 
>>> value="true"/></resources><application-desc
>>> main-class="hudson.remoting.jnlp.Main"><argument>some_hex<
>>> /argument><argument>node01</argument><argument>-url</argument><argument>
>>> http://my.machine.com:8080/jenkins/</argument><argument>-url</
>>> argument><argument>http://my.machine.com:8080:8080/jenkins/
>>> </argument></application-desc></jnlp>
>>> > >
>>> > > The part where it is marked in bold font is the part where it is
>>> complaining about, whereas before the move it didn't have this extra url.
>>> > >
>>> > > I then had a look at the Jenkins source code to see where did this
>>> url come from:
>>> > >
>>> > > The file in jenkins-master/core/src/main/resources/hudson/slaves/
>>> SlaveComputer/slave-agent.jnlp.jelly has this:
>>> > >
>>> > >         <j:if test="${rootURL!=app.rootUrlFromRequest}">
>>> > >           <!--
>>> > >             rootURL is based on the URL in the system config, but
>>> there has been
>>> > >             numerous reports about people moving Jenkins to another
>>> place but
>>> > >             forgetting to update it. To improve the user experience
>>> in this regard,
>>> > >             let's also pass the URL that the browser sent us as
>>> well, so that the
>>> > >             JNLP Main class can try both.
>>> > >
>>> > >             Note that rootURL is still necessary in various
>>> situations, such
>>> > >             as reverse HTTP proxy situation, which makes
>>> rootUrlFromRequest incorrect.
>>> > >           -->
>>> > >           <argument>-url</argument>
>>> > >           <argument>${app.rootUrlFromRequest}</argument>
>>> > >
>>> > > Thus, this means that somehow after the move the rootUrlFromRequest
>>> is now different. Except now I'm lost where to find and correct the "root
>>> URL from request" or where that is being set.
>>> > >
>>> > > After the move I've already grep and replaced paths in the Jenkins
>>> setting that pointed to the old location.
>>> > >
>>> > > Any pointers to where I should look next?
>>> > >
>>> > > Cheers,
>>> > > Hansen
>>> > >
>>> > >
>>> > >
>>> > > --
>>> > > You received this message because you are subscribed to the Google
>>> Groups "Jenkins Users" group.
>>> > > To unsubscribe from this group and stop receiving emails from it,
>>> send an email to [email protected].
>>> > > For more options, visit https://groups.google.com/d/optout.
>>> >
>>>
>>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Jenkins Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to