使用 Nginx 在 VPS 上部署的 Flask 應用程式中出現 @jwt_required() 錯誤

Patricia Arquette
發布: 2024-11-26 03:09:10
原創
165 人瀏覽過

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

大家好,

我在使用 Nginx 在 VPS 伺服器上部署 Flask 應用程式時遇到問題。該應用程式在本地測試以及在 Heroku 上託管時都運作良好。但是,當部署在我的 VPS 上時,任何受 @jwt_required() 保護的路由都會拋出 422 錯誤

細節:

  • 伺服器設定:

    • Ubuntu VPS
    • Nginx 作為反向代理
    • Gunicorn 運行 Flask 應用程式
    • Flask-JWT-Extend 用於 JWT 身份驗證
  • 有效方法:

    • 所有沒有 @jwt_required() 裝飾器的 API 路由都可以完美運作。
    • 部署在 Heroku 上時,相同的應用程式可以按預期工作(即使使用 @jwt_required())。
  • 失敗之處:

    • 在 VPS 設定上使用 @jwt_required() 裝飾器的任何路由都會傳回 422 錯誤
    • 刪除@jwt_required()可以讓路由正常運作。

我嘗試過的事情:

  • 已驗證 JWT 令牌是否在授權標頭中正確傳遞。
  • 檢查 SECRET_KEY 和令牌過期設定是否不符。
  • 確認應用程式使用正確的 ACCESS_TOKEN_EXPIRES 和演算法。
  • 使用Postman 和curl 進行測試——沒有區別。

我懷疑這可能與 Nginx 或 Gunicorn 配置有關,但我不知道是什麼。它是否與伺服器處理標頭或 JSON 主體的方式有關?

任何建議或故障排除技巧將不勝感激!

提前致謝!

以上是使用 Nginx 在 VPS 上部署的 Flask 應用程式中出現 @jwt_required() 錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板