
大家好,
我在使用 Nginx 在 VPS 服务器上部署 Flask 应用程序时遇到问题。该应用程序在本地测试以及在 Heroku 上托管时都运行良好。但是,当部署在我的 VPS 上时,任何受 @jwt_required() 保护的路由都会抛出 422 错误。
细节:
服务器设置:
Ubuntu VPSNginx 作为反向代理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() 错误的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1354240.html
微信扫一扫
支付宝扫一扫