2017-08-04 2 views
0

Heute habe ich ein ansible Deploy-Skript ausgeführt, das 100-mal ausgeführt wurde, um eine geringfügige Protokollierungsänderung auf der Bühnenkopie eines alten Systems, das ich unterstütze, vorzunehmen. Nach dem Ausführen bekomme ich die obige Fehlermeldung beim Login.Absolute URI nicht zulässig, wenn der Server kein Proxy ist

Nginx Zugriffsprotokolle geben den Fehler:

10.0.1.65 - foo [04/Aug/2017:01:07:57 +0000] "GET /girder/api/v1/user/authentication HTTP/1.1" 400 50 " http://bar-stage/ " "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36" "-"

Das System ist eine seltsame Web-Framework girder, sondern basiert auf den Protokollen sieht es aus wie die Anforderung nicht einmal zu bekommen girder genannt läuft. Ich habe die Änderung rückgängig gemacht, und das System ist immer noch kaputt. Ich habe den geänderten Code auf dem Dev getestet, funktioniert einwandfrei. Ich führe das deploy-Skript gegen dev, was im Grunde nur eine git pull und startet die girder, und es brach dev. Die Produktion und ein zweiter (unveränderter) Dev-Server funktionieren immer noch gut. Wir haben einen völlig neuen Dev-Server von unserem Basis-Image hochgespielt, denselben Fehler.

Hat jemand eine Ahnung, was los ist?

nginx Debug-Protokolle für einzelnen Versuch:

2017/08/04 17:58:31 [debug] 2146#2146: *1 write new buf t:1 f:0 000055E4D62A8F58, pos 000055E4D62A8F58, size: 157 file: 0, size: 0 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http write filter: l:0 f:0 s:157 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http proxy filter init s:400 h:0 c:0 l:50 
2017/08/04 17:58:31 [debug] 2146#2146: *1 tcp_nodelay 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http upstream process non buffered downstream 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http output filter "/girder/api/v1/user/authentication?" 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http copy filter: "/girder/api/v1/user/authentication?" 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http postpone filter "/girder/api/v1/user/authentication?" 000055E4D62A9008 
2017/08/04 17:58:31 [debug] 2146#2146: *1 write old buf t:1 f:0 000055E4D62A8F58, pos 000055E4D62A8F58, size: 157 file: 0, size: 0 
2017/08/04 17:58:31 [debug] 2146#2146: *1 write new buf t:0 f:0 0000000000000000, pos 000055E4D629ABCA, size: 50 file: 0, size: 0 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http write filter: l:0 f:1 s:207 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http write filter limit 0 
2017/08/04 17:58:31 [debug] 2146#2146: *1 writev: 207 of 207 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http write filter 0000000000000000 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http copy filter: 0 "/girder/api/v1/user/authentication?" 
2017/08/04 17:58:31 [debug] 2146#2146: *1 finalize http upstream request: 0 
2017/08/04 17:58:31 [debug] 2146#2146: *1 finalize http proxy request 
2017/08/04 17:58:31 [debug] 2146#2146: *1 free rr peer 1 0 
2017/08/04 17:58:31 [debug] 2146#2146: *1 close http upstream connection: 11 
2017/08/04 17:58:31 [debug] 2146#2146: *1 free: 000055E4D62B2E10, unused: 48 
2017/08/04 17:58:31 [debug] 2146#2146: *1 event timer del: 11: 1501870111101 
2017/08/04 17:58:31 [debug] 2146#2146: *1 reusable connection: 0 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http output filter "/girder/api/v1/user/authentication?" 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http copy filter: "/girder/api/v1/user/authentication?" 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http postpone filter "/girder/api/v1/user/authentication?" 00007FFC3E69E320 
2017/08/04 17:58:31 [debug] 2146#2146: *1 write new buf t:0 f:0 0000000000000000, pos 0000000000000000, size: 0 file: 0, size: 0 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http write filter: l:1 f:0 s:0 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http copy filter: 0 "/girder/api/v1/user/authentication?" 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http finalize request: 0, "/girder/api/v1/user/authentication?" a:1, c:1 
2017/08/04 17:58:31 [debug] 2146#2146: *1 set http keepalive handler 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http close request 
2017/08/04 17:58:31 [debug] 2146#2146: *1 http log handler 
2017/08/04 17:58:31 [debug] 2146#2146: *1 posix_memalign: 000055E4D629BB90:4096 @16 
2017/08/04 17:58:31 [debug] 2146#2146: *1 free: 000055E4D629AB80 
2017/08/04 17:58:31 [debug] 2146#2146: *1 free: 000055E4D62B7EF0, unused: 8 
2017/08/04 17:58:31 [debug] 2146#2146: *1 free: 000055E4D62A8230, unused: 224 
2017/08/04 17:58:31 [debug] 2146#2146: *1 free: 000055E4D629BB90, unused: 3797 
2017/08/04 17:58:31 [debug] 2146#2146: *1 free: 000055E4D62B2A00 
2017/08/04 17:58:31 [debug] 2146#2146: *1 hc free: 0000000000000000 
2017/08/04 17:58:31 [debug] 2146#2146: *1 hc busy: 0000000000000000 0 
2017/08/04 17:58:31 [debug] 2146#2146: *1 reusable connection: 1 
2017/08/04 17:58:31 [debug] 2146#2146: *1 event timer add: 3: 65000:1501869576102 
2017/08/04 17:58:31 [debug] 2146#2146: timer delta: 1 
2017/08/04 17:58:31 [debug] 2146#2146: worker cycle 
2017/08/04 17:58:31 [debug] 2146#2146: epoll timer: 65000 
+0

Überprüfen Sie error.log. Verwenden Sie error_log im Debug-Modus, wenn neede –

Antwort

0

Rätsel gelöst, irgendwie.

Girder ist abhängig von CherryPy. CherryPy hängt von einem Paket Cheroot ab. Aus bestimmten Gründen taucht Cheroot nicht in unserem Pip-Freeze auf, also hatten wir es nicht festgesteckt oder gemerkt, dass es sich geändert hat. Das ansible Skript hat es auf den neuesten Stand gebracht, von 5.7.0 bis 5.8.0, was aus bestimmten Gründen nicht mit unseren Einstellungen funktioniert und nginx. Es funktioniert mit Apache, die wir letzte Nacht als kurzfristige Lösung arbeiten.

Ich hoffe, das hilft jemandem.

+0

Bitte melden Sie diese Art von Problemen zu [unserer GitHub Repo] (https://github.com/cherrypy/cheroot). Diese Änderung wurde uns vom Betreuer der Kellnerin geschickt und implementiert RFC 7230 und RFC 7231. Ich habe einige Probleme behoben, die es verursachte, aber es scheint etwas Kompatibilität mit cherrypy zu brechen. Könnten Sie bitte Ihre funktionierenden/nicht arbeitenden Reverse-Proxy-Konfigurationen teilen, damit ich das mit einer Testsuite abdecken könnte? – webKnjaZ

+1

Ja, ich plane auch, wenn ich Montag zur Arbeit komme. Es war einfach keine Zeit mehr, herauszufinden, woher das Problem kam. – TristanMatthews

+0

Bitte überprüfen Sie Ihren HTTP-Datenverkehr, der für die CherryPy-App eingeht. Ich vermute, dass es HTTP-Abfragen gibt, die das Absolute URI-Formular in der Anforderungszeile enthalten, was nur bei einem HTTP-Proxy der Fall ist, andernfalls ungültig. – webKnjaZ

Verwandte Themen