Ok, after the move again I ran the commands and now got: http://my.machine.com:8080:8080/jenkins/http://my.machine.com:8080/jenkins/ my.machine.com:8080 null
So it looks like with the change it some how introduced extra port in the url. But if it's the port forwarding or reverse proxy issue then I would have expected the problem to have existed before the move. Could there be some configuration file that I have missed to update after moving to a different location? On Monday, 28 July 2014 22:22:26 UTC+1, Hansen Loke 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.
