0

I have Jenkins and Apache httpd with reverse proxy installed. They are installed on the same PC.

I can access Jenkins directly and it is ok. E.g. following link works fine: http://127.0.0.1:8080/jenkins/manage
Other pages looks fine as well if I try to access them directly via Jenkins.

I can also access Jenkins via Apache through SSL: https://127.0.0.1/jenkins/manage. It is fine.
But when I press «Manage Plugins» on this page, I am redirected to the following URL http://127.0.0.1/jenkins/pluginManager/ which is already plain HTTP. And I receive “Not found” error page.

Similar error is obtained when I press “Save” on the configuration page https://127.0.0.1/jenkins/configure under Apache SSL. I also redirected to plain HTTP http://127.0.0.1/jenkins/ .

Probably such switch from SSL to plain HTTP happens for POST requests only, but am not 100% confident.

During testing I switched off security according to the https://wiki.jenkins-ci.org/display/JENKINS/Disable+security

Apache configuration directives related to Jenkins follow:

Listen 443
ProxyPass         /jenkins  http://127.0.0.1:8080/jenkins nocanon
ProxyPassReverse  /jenkins  http://127.0.0.1:8080/jenkins
ProxyPreserveHost On
ProxyRequests     Off

<Proxy http://127.0.0.1:8080/jenkins*>
   SSLRequireSSL
   RequestHeader set X_FORWARDED_PROTO 'https'
   Order deny,allow
   Allow from all
</Proxy>

I use Apache apache_2.2.14-win32-x86-openssl-0.9.8k.msi and Jenkins ver. 1.580.1.

Probably I missconfigurated something but I can not realise where to find error. What can be wrong with my configuration?

Please let me know if I missed essential details here so I can add them here.
Thanks in advance.

sergtk
  • 113
  • 8

1 Answers1

1

Fixed Apache directive.

Wrong directive:

RequestHeader set X_FORWARDED_PROTO 'https'

Correct directive:

RequestHeader set X-FORWARDED-PROTO 'https'

I originally took it from the http://www.redmine.org/projects/redmine/wiki/FAQ#Why-does-Redmine-use-http-links-when-I-want-it-to-use-https-links-in-Apache-SSL and then copied in my Apache config file.

I did not modified redmine page because it works with underscores as opposite to dashes used at List of HTTP header fields

Following page helped me to find the issue: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Apache

sergtk
  • 113
  • 8