0

I am trying to get jenkins (on /), sonar (on /sonar) and nexus (on /nexus) up and running. They seem to work except for Jenkins giving me the old It appears that your reverse proxy set up is broken.

I don't understand why. I am missing something and am staring at it for too long. What am I doing wrong/missing?

My apache config is below. I added the last 2 to proxyPassReverse lines to see if that would fix it, as a different post suggested, but it didn't work for me.

The "build" entry for the adress is configured in my hosts file.

Edit: Added virtualhost tags

<VirtualHost *>
  ProxyRequests   Off
  ProxyPreserveHost On
  AllowEncodedSlashes NoDecode
  RequestHeader set X-Forwarded-Proto "https"
  RequestHeader set X-Forwarded-Port "443"

  ProxyPass               /sonar  http://build:9000/sonar nocanon
  ProxyPassReverse        /sonar  http://build:9000/sonar
  ProxyRequests   Off

  ProxyPass               /nexus  http://build:8081/nexus nocanon
  ProxyPassReverse        /nexus  http://build:8081/nexus
  ProxyRequests   Off

  ProxyPass               /       http://build:8080/ nocanon
  ProxyPassReverse        /       http://build:8080/
  ProxyPassReverse        /       https://build:8080/
  ProxyPassReverse        /       http://build/
  ProxyPassReverse        /       https://build/


  ProxyRequests   Off

  <Proxy http://localhost:8080/*>
    Order deny,allow
    Allow from all
  </Proxy>
  <Proxy http://localhost:9000/*>
    Order deny,allow
    Allow from all
  </Proxy>
  <Proxy http://localhost:8081/nexus/*>
    Order deny,allow
    Allow from all
  </Proxy>
</VirtualHost>

Edit: Added curl response:

curl -iL http://192.168.1.108/administrativeMonitor/hudson.diagnosi
HTTP/1.1 302 Found
Date: Mon, 16 Nov 2015 21:29:00 GMT
Server: Jetty(winstone-2.8)
X-Content-Type-Options: nosniff
Location: https://192.168.1.108/administrativeMonitor/hudson.diagnosis.ReversePr
Content-Length: 0

curl: (7) Failed to connect to 192.168.1.108 port 443: Connection refused

Edit: Added apache logs. (I left a lot of the same lines out)

[Mon Nov 16 23:05:42.128539 2015] [proxy:error] [pid 646:tid 140309149226752] (111)Connection refused: AH00957: HTTP: attempt to connect to 127.0.1.1:8080 (build) failed
[Mon Nov 16 23:05:42.128583 2015] [proxy:error] [pid 646:tid 140309149226752] AH00959: ap_proxy_connect_backend disabling worker for (build) for 60s
[Mon Nov 16 23:05:42.128593 2015] [proxy_http:error] [pid 646:tid 140309149226752] [client 192.168.1.102:62221] AH01114: HTTP: failed to make connection to backend: build
[Mon Nov 16 23:05:42.207801 2015] [proxy:error] [pid 645:tid 140309166012160] AH00940: HTTP: disabled connection for (build)
[Mon Nov 16 23:06:31.146140 2015] [proxy:error] [pid 646:tid 140309124048640] AH00940: HTTP: disabled connection for (build)
[Mon Nov 16 23:06:31.312161 2015] [proxy:error] [pid 646:tid 140309115655936] AH00940: HTTP: disabled connection for (build)
[Tue Nov 17 06:37:41.189136 2015] [mpm_event:notice] [pid 643:tid 140309369055104] AH00493: SIGUSR1 received.  Doing graceful restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
bobK
  • 111
  • 5

1 Answers1

1

The clue is to configure the Jenkins home url to http://...

This will make the reverse proxy tests of jenkins follow the right path. Ofcourse, if you want https, add the s :)

bobK
  • 111
  • 5