2017-11-16 10 views
1

Ich habe SonarQube eine ganze Weile laufen lassen, aber ich habe es nicht sehr oft benutzt, aber im Allgemeinen scheint es zu funktionieren. Ich betreibe es in Docker.Das Ausführen von Sonarqube in Docker führt mich immer wieder zurück zur Login-Seite

Ich habe es gerade auf LTS (6.7) aktualisiert und danach scheint es in einen Limbo-Zustand geraten zu sein. Ich kann mich anmelden und die Website durchsuchen, aber sobald ich versuche, eine Operation auszuführen (scheint egal, was diese Operation ist), werde ich auf die Anmeldeseite weitergeleitet. Wenn ich mich erneut anmelde, wiederholt sich alles. Ich kann also wirklich keine Aktion durchführen, wie es scheint.

Zuerst dachte ich, das hätte etwas mit alten Daten zu tun, die mit dem neuen Setup in Konflikt stehen. Also habe ich alles sauber gemacht und neu aufgebaut. Das Problem bleibt bestehen, ich kann nichts tun und werde jedes Mal zur Login-Seite weitergeleitet.

Zum Beispiel, nach dem sauberen Setup, loggen wir mich mit admin/admin und ich bekomme das "erste Mal Tutorial", wo mir angeboten wird, ein Token zu erstellen. Ich habe versucht, das zu tun, werde aber auf die Anmeldeseite weitergeleitet. Ich logge mich erneut ein und dieses Mal versuche ich das Tutorial zu überspringen, aber dann werde ich auf die Anmeldeseite weitergeleitet. Unten ist ein Teil des access.log für wenn ich versuche, das Tutorial zu überspringen:

10.3.1.119 - - [16/Nov/2017:00:12:48 +0000] "POST /gor-sq/api/users/skip_onboarding_tutorial HTTP/1.0" 401 - "https://build.nextcode.com/gor-sq/projects" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "AV/CJhNZndR3RsZuAAA4" 
10.3.1.119 - - [16/Nov/2017:00:12:48 +0000] "GET /gor-sq/api/users/identity_providers HTTP/1.0" 200 24 "https://build.nextcode.com/gor-sq/sessions/new?return_to=%2Fgor-sq%2Fprojects" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "AV/CJhNZndR3RsZuAAA5" 
10.3.1.119 - - [16/Nov/2017:00:12:48 +0000] "GET /gor-sq/api/navigation/global HTTP/1.0" 200 573 "https://build.nextcode.com/gor-sq/sessions/new?return_to=%2Fgor-sq%2Fprojects" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "AV/CJhNZndR3RsZuAAA6" 

Die erste Zeile zeigt an, dass der POST eine 401-Antwort erhält. Ohne absolut sicher zu sein, sieht es so aus, als ob die POST-Operationen 401 Antworten erhalten, während GET funktioniert.

Diese Konfiguration sitzt hinter einem Reverse-Proxy, aber wie gesagt, das Setup hat schon gut funktioniert und es wurden keine Änderungen am Reverse-Proxy-Setup vorgenommen.

+0

Haben Sie die SonarQube-Konfigurationsdatei überprüft/kompariert? –

+0

@JeroenHeier Wie ich schon sagte, das zweite Mal, als ich es installiert habe, habe ich eine komplett neue Installation vorgenommen, so dass die Konfigurationsdatei mit SonarQube ausgeliefert wurde. Allerdings habe ich versucht, sonarqube komplett eigenständig laufen zu lassen (lief "docker run sonarqube" auf meinem Laptop und das kam und verhält sich gut. Also muss das etwas mit meinem spezifischen Setup zu tun haben. – StFS

Antwort

0

Ich hatte das gleiche Problem. https://myserver.com/sonar/api/users/skip_onboarding_tutorial Ich habe 401 und ich wurde auf die Anmeldeseite umgeleitet. Ich schaute auf den Quellcode und request.ts wurde in Zeile erroring out 108.

submit(): Promise<Response> { 
const { url, options } = this.getSubmitData({ ...getCSRFToken() }); 
return window.fetch((window as any).baseUrl + url, options);} 

wie ein Problem mit dem CSRFToken betrachtet. Da Sonarqube hinter einem Nginx Reverse Proxy läuft, könnte es etwas mit der Art und Weise zu tun haben, wie ich die Cookies behandle.

Also, wenn ich ein wenig sah, fand ich die Lösung hier: https://stackoverflow.com/a/47909810/3221249

Grundsätzlich sie die Art und Weise geändert Sie sichere Cookies nach v6.0 behandeln. Da ich den Cookie sicher und httpony zu true gemacht habe (ohne dass der Client-Browser mit dem js-Code interagiert), hatte ich das obige Problem. Ich machte das schon, bevor mein Nicht-SSL-Verkehr Nginx traf. Ich habe einen anderen Proxy-Server, auf dem HAProxy läuft, der damit umging, also habe ich diesen Teil der Definitionen kommentiert.

#rspirep ^(Set-cookie:.*) \1;\ Secure if ! secure 
#rspirep ^(Set-cookie:.*) \1;\ httponly 

Ich hoffe, das hilft Ihnen.

Verwandte Themen