Ich verwende zwei Dienste hinter einem Apache-Server: Jenkins (Port 8080) und SonarQube (Port 9000).
Meine Apache-Konfiguration sieht folgendermaßen aus:
<VirtualHost *:80>
ServerName server
Redirect permanent / https://server.domain.com/
</VirtualHost>
<VirtualHost *:80>
ServerName server.domain.com
Redirect permanent / https://server.domain.com/
</VirtualHost>
<VirtualHost *:443>
ServerName server.domain.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
ProxyPass /jenkins http://localhost:8080/jenkins nocanon
ProxyPassReverse /jenkins http://localhost:8080/jenkins
ProxyPassReverse /jenkins http://server.domain.com/jenkins
ProxyPassReverse /jenkins https://server.domain.com/jenkins
ProxyPass /sonar http://localhost:9000/sonar nocanon
ProxyPassReverse /sonar http://localhost:9000/sonar
AllowEncodedSlashes NoDecode
ProxyRequests Off
ProxyPreserveHost On
<Proxy http://localhost:8080/*>
Order deny,allow
Allow from all
</Proxy>
</VirtualHost>
Alles scheint gut zu funktionieren, außer dass Jenkins sich mit dieser Meldung beschwert: Es scheint, dass Ihre Reverse-Proxy-Einrichtung defekt ist.
Wenn ich den von Jenkins bereitgestellten ReverseProxySetupMonitor- Test ausführe , zeigt die Fehlermeldung an, dass etwas mit dem Reverse-Proxy nicht korrekt eingerichtet ist, da http nicht durch https ersetzt wird:
$ curl -iLk -e https://server.domain.com/jenkins/manage https://server.domain.com/jenkins/administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/test
[...]
404 http://server.domain.com/jenkins/manage vs. https://server.domain.com/jenkins/manage
[...]
Dies wurde erst angezeigt, nachdem ich SSL auf dem Server aktiviert hatte (der jetzt ein selbstsigniertes Zertifikat verwendet).
Frage: Wie behebe ich das Reverse-Proxy-Setup, damit Jenkins zufrieden ist? Bonuspunkte für Tipps zur Verbesserung der Apache-Konfigurationsdatei.
Ich habe bereits die folgenden zwei verwandten Fragen geprüft:
sudo a2enmod headers
, sonst würde ichInvalid command 'RequestHeader'