Warum Jenkins beschweren, dass meine reverse-proxy-setup fehlerhaft ist?
Ich habe keine Ahnung, warum nach Jenkins ist aktualisiert auf version 1.591 (Ubuntu Server 12.04), die ursprünglich korrekt einrichten der reverse-proxy wird jetzt gebrochen. Meine aktuelle Einstellung ist genau die gleiche, wie gesagt, im Jenkins-wiki:
ProxyPass /jenkins http://localhost:8081/jenkins nocanon
ProxyPassReverse /jenkins http://localhost:8081/jenkins
ProxyPreserveHost On
ProxyRequests Off
AllowEncodedSlashes NoDecode
<Proxy http://localhost:8081/jenkins*>
Order deny,allow
Allow from all
</Proxy>
auch --prefix=/jenkins
wurde Hinzugefügt, in /etc/default/jenkins
Datei
Ist, dass ein Fehler im Jenkins?
InformationsquelleAutor Kevin | 2014-11-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich konfrontiert mit dieser Frage, die mit Jenkins als Windows-Service-Paket.
Entsprechend Ihrer wiki:
Erreichen die System-Konfiguration:
Sicherstellen, dass die port-Wert übereinstimmt, mit der port-Wert fest in der
<arguments>
Abschnitt der jenkins.xml - Datei befindet sich in den Jenkins-Ordner auf Ihrem Computer.Genau dies: Zu erweitern ist die Antwort: die Server hostname geändert wurde, und ich wusste nicht, ändern Sie die "Jenkins Lage" (ein), wenn ich ERSTE setup den jenkins-box, die ich verwendet, http://jenkins-test1.example.com, so dass ist, was ich in der Jenkins Verwalten -> Konfigurieren des Systems -> Jenkins Lage, (b) Später die Maschine wurde ein Produktions-Maschine, der host-name geändert zu: http://jenkins-prod1.example.com - jetzt Jenkins beklagt, So (C) Lösung: Update der "Jenkins Lage"
Die Argumente string in mein 'jenkins.xml' Datei sieht wie folgt aus. <Argumente> -Xrs -Xmx256m -Dhudson.Lebenszyklus=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASIS%\jenkins.Krieg" --httpPort=8080 --webroot="%BASIS%\Krieg" </Argumente> Und dies ist die URL, die ich gegeben habe, unter Jenkins URL-Feld : localhost:8080/jenkins ich kann nicht verstehen, wie man beide strings bedeuten das gleiche Jenkins-Adresse.
Es gibt keine jenkins.xml auf meiner Maschine. Ich habe Ubuntu.
Vielen Dank für die Hilfe. Sie sicherlich erleichtert die Arbeit des Lesens die ganze wiki. In meinem Fall hatte ich verändert den Standardport 8100.
InformationsquelleAutor Josh Gieringer
Für mich, das Update war auf add:
Dies machte es aufhören, zu jammern.
Yup, der es bekam. Für NGINX
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Port 443;
Die Konfiguration in dieser Antwort gelöst es für mich (stackoverflow.com/questions/34940805/...)
Wo haben Sie es hinzufügen, Robin?
InformationsquelleAutor Robin Winslow
Es stellt sich heraus funktioniert alles problemlos, auch wenn die lästige Meldung beharrlich erscheint. Ich denke, es ist ein minor bug der version.
InformationsquelleAutor Kevin
Hier ein link klar manches geändert, nachdem 1.552, so das hinzufügen dieser neuen Linien;
Mein Problem gelöst und Warnung gegangen.
InformationsquelleAutor Cem
Für nginx, diese haben mir auch geholfen:
Nicht gehören alle Schrägstriche zu den oben genannten urls und auch nicht der
proxy_pass
url.InformationsquelleAutor Ghasan Al-Sakkaf
Jenkins proaktive überwachung, um sicherzustellen, dass forward-und reverse-proxy ordnungsgemäß konfiguriert ist. In der version 1.552, diese tests wurden so verbessert, dass falsche proxy-setups, die zuvor nicht als defekt gekennzeichnet sind, sind jetzt erkannt. Beginnend mit version 1.572, auch Jenkins-Instanzen, die sich nicht auf ein reverse-proxy wird die Anzeige dieser Warnung.
Fixing a broken reverse-proxy-Konfiguration ist stark abhängig von Ihrem web-server und web-application-container, die ist, warum gibt es so viele andere Antworten auf Ihre Frage. Den Jenkins-Wiki-Artikel zu diesem Thema, "Jenkins sagt, meine reverse-proxy-setup ist kaputt", beschreibt mehrere Möglichkeiten, um dieses Update in die Kommentare.
Aus dem obigen Artikel:
In meinem Fall war es tatsächlich ein problem mit der ersten option, wo meine Antwort umschreiben war nicht richtig Codierung Schrägstriche. Wenn Sie mit Apache HTTPD mit Tomcat, die Sie benötigen, um Unterstützung für Schrägstrichen zu beide Servern, nicht nur Apache HTTPD.
Sind dies die Anweisungen für die Lösung dieses problem in meinem konkreten Fall: Jenkins 2.1.41 auf eine Amazon Linux-EC2-Instanz mit Apache 2.4, Tomcat 8.5 und Tomcat-Connector.
In
/etc/httpd/conf.d/ssl.conf
fügen Sie die folgende Zeile für Ihr JenkinsHost
oderVirtualHost
:Fügen Sie die folgende Zeile
/usr/share/tomcat8/conf/catalina.properties
:Starten Sie beide Dienste:
Aktualisieren Sie Ihre Verwalten Jenkins-Seite. Die Warnmeldung verschwunden sein wird.
Beispiel für eine Implementierung der zweiten option in der Apache HTTPD:
und für NGINX:
InformationsquelleAutor vallismortis