Fehler mit @jwt_required() in der auf VPS mit Nginx bereitgestellten Flask-App

Patricia Arquette
Freigeben: 2024-11-26 03:09:10
Original
164 Leute haben es durchsucht

Error with @jwt_required() in Flask App Deployed on VPS with Nginx

Hallo zusammen,

Bei der Bereitstellung meiner Flask-Anwendung auf einem VPS-Server mit Nginx tritt ein Problem auf. Die App funktioniert gut, wenn sie lokal getestet und auch auf Heroku gehostet wird. Bei der Bereitstellung auf meinem VPS löst jedoch jede durch @jwt_required() geschützte Route einen 422-Fehler aus.

Einzelheiten:

  • Server-Setup:

    • Ubuntu VPS
    • Nginx als Reverse-Proxy
    • Gunicorn zum Ausführen der Flask-App
    • Flask-JWT-Extended für die JWT-Authentifizierung
  • Was funktioniert:

    • Alle API-Routen ohne den Dekorator @jwt_required() funktionieren einwandfrei.
    • Die gleiche Anwendung funktioniert wie erwartet (sogar mit @jwt_required()), wenn sie auf Heroku bereitgestellt wird.
  • Was fehlschlägt:

    • Jede Route, die den Dekorator @jwt_required() im VPS-Setup verwendet, gibt einen 422-Fehler zurück.
    • Durch das Entfernen von @jwt_required() können die Routen normal funktionieren.

Dinge, die ich versucht habe:

  • Überprüft, ob das JWT-Token korrekt im Autorisierungsheader übergeben wird.
  • Überprüft auf nicht übereinstimmende SECRET_KEY- und Token-Ablaufeinstellungen.
  • Bestätigt, dass die App die richtigen ACCESS_TOKEN_EXPIRES und ALGORITHMUS verwendet.
  • Getestet mit Postman und Curl – kein Unterschied.

Ich vermute, dass es etwas mit Nginx- oder Gunicorn-Konfigurationen zu tun hat, aber ich kann nicht herausfinden, was. Könnte es damit zusammenhängen, wie Header oder JSON-Bodys vom Server verarbeitet werden?

Für Vorschläge oder Tipps zur Fehlerbehebung wären wir sehr dankbar!

Vielen Dank im Voraus!

Das obige ist der detaillierte Inhalt vonFehler mit @jwt_required() in der auf VPS mit Nginx bereitgestellten Flask-App. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage