Nginx和Django-JWT问题

时间:2019-01-12 16:38:42

标签: django api nginx jwt gunicorn

我正在使用Django Rest Framework创建API。当我在本地运行它时,它很好用,但是当我将其部署到服务器中时,JWT出现了问题。当我尝试发布新数据时,收到一条错误消息:

“详细信息”:“未提供身份验证凭据。”

当然,我要传递Authorization标头:

authorization: JWT eyJ0eXAiOiJK.....

在我的服务器上,我将ggincorn与nginx配合使用。这是我的Nginx配置:

upstream api {
    server unix:/home/bartalamej/api.sock fail_timeout=0;
}

server {

    listen 80;
    root /var/www/html;
    index index.html index.html;

    server_name api.mysite.cz;

    location /v1 {
        rewrite ^/v1/(.*)$ /$1 break;
        include proxy_params;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header REMOTE_USER $remote_user;
        proxy_set_header Authorization $http_authorization;
        proxy_set_header USE_X_FORWARDED_HOST True;
        proxy_pass http://api;
    }

    location /media  {
        alias /home/bartalamej/api/media;  
    }

    location /static {
        alias /home/bartalamej/api/static;
    }

}

任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:1)

问题出在我的Django配置上。在我的生产设置中,缺少身份验证类