안녕하세요 여러분
Nginx를 사용하여 VPS 서버에 Flask 애플리케이션을 배포하는 동안 문제가 발생했습니다. 앱은 로컬에서 테스트할 때와 Heroku에서 호스팅할 때 잘 작동합니다. 그러나 내 VPS에 배포하면 @jwt_required()로 보호되는 모든 경로에서 422 오류가 발생합니다.
세부:
-
서버 설정:
- 우분투 VPS
- 역방향 프록시로서의 Nginx
- Flask 앱을 실행하는 Gunicorn
- JWT 인증을 위한 Flask-JWT-확장
-
작동 방식:
- @jwt_required() 데코레이터가 없는 모든 API 경로는 완벽하게 작동합니다.
- Heroku에 배포하면 동일한 애플리케이션이 예상대로 작동합니다(@jwt_required()를 사용해도).
-
실패:
- VPS 설정에서 @jwt_required() 데코레이터를 사용하는 모든 경로는 422 오류를 반환합니다.
- @jwt_required()를 제거하면 경로가 정상적으로 작동할 수 있습니다.
내가 시도한 것:
- JWT 토큰이 Authorization 헤더에 올바르게 전달되었는지 확인했습니다.
- 일치하지 않는 SECRET_KEY 및 토큰 만료 설정을 확인했습니다.
- 앱이 올바른 ACCESS_TOKEN_EXPIRES 및 ALGORITHM을 사용하는지 확인했습니다.
- Postman과 Curl로 테스트했으며 차이가 없습니다.
Nginx 또는 Gunicorn 구성과 관련이 있을 것으로 생각되지만 무엇인지 알 수 없습니다. 서버에서 헤더나 JSON 본문을 처리하는 방식과 관련이 있을 수 있나요?
어떤 제안이나 문제 해결 팁이라도 주시면 감사하겠습니다!
미리 감사드립니다!
위 내용은 Nginx를 사용하여 VPS에 배포된 Flask 앱의 @jwt_required() 오류의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!