The following is the setup that I have:
Jenkins master running on a server and lets say its domain name is jenkins.master.host, i.e. the URL to access the Jenkins master directly would be http://jenkins.master.host:8080
Apache HTTPD running on a different server and lets say its domain name is jenkins.master.proxy. HTTPD is configured to listen on port 80 and to proxy to the jenkins master, i.e to access Jenkins master via apache, the URL http://jenkins.master.proxy is used.
Under "Manage Jenkins" -> "Configure System", Jenkins URL is configured to be the apache httpd URL, i.e. http://jenkins.master.proxy
Under "Manage Jenkins" -> "Configure Global Security", slaves are configured to run on a fixed TCP port of 9020.
Under "Manage Jenkins" -> "Manage Nodes", I create a new node named "TestSlave".
After downloading the JNLP to launch the slave, the little slave agent window which connects to the master remains stuck on "Connecting to jenkins.master.proxy:9020"
The JNLP is as follows:
<jnlp codebase="http://jenkins.master.proxy/computer/TestSlave/" spec="1.0+">
<information>
<title>Agent for TestSlave</title>
<vendor>Jenkins project</vendor>
<homepage href="https://jenkins-ci.org/"/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.7+"/>
<jar href="http://jenkins.master.proxy/jnlpJars/remoting.jar"/>
<property name="hudson.showWindowsServiceInstallLink" value="true"/>
</resources>
<application-desc main-class="hudson.remoting.jnlp.Main">
<argument>*******************************************</argument>
<argument>TestSlave</argument>
<argument>-url</argument>
<argument>http://jenkins.master.proxy/</argument>
</application-desc>
</jnlp>
Apache HTTPD is configured as follows:
<VirtualHost *:80>
ServerName jenkins.master.proxy
ProxyPass / http://jenkins.master.host:8080/ nocanon Keepalive=On
ProxyPassReverse / http://jenkins.master.host:8080/
AllowEncodedSlashes On
ErrorLog logs/jenkins/error.log
</VirtualHost>
Is there some configuration that I need to put into Jenkins master or into apache HTTPD to get the slave to connect? The little Jenkins slave agent window remains stuck on "Connecting to jenkins.master.proxy:9020 (retrying:11)". Perhaps I need to add another VirtualHost in apache HTTPD to listen on port 9020? I have tried to do this but with no success.
Ideas will be greatly appreciated.
Many thanks