【问题标题】:Intermittent Bad Request (400) Spotify API callback using nginx + gunicorn + django使用 nginx + gunicorn + django 的间歇性错误请求 (400) Spotify API 回调
【发布时间】:2021-03-30 21:56:02
【问题描述】:

当我使用 nginx 通过 gunicorn 套接字处理通信为我的 spotify django 应用程序提供服务时,我有时会在用户身份验证回调期间收到错误请求错误。如果 gunicorn 配置为带有 ip 和端口的 TCP,我不会遇到错误,也不会使用 django 的 manage.py runserver;用户认证成功。这个间歇性问题似乎只在我使用套接字连接时发生。检查了 nginx、gunicorn 和 django 日志,除了 400 代码之外没有真正得到任何信息。

使用 tekore python 库访问 spotify 的 api。

这是我的 nginx 配置:

upstream app_server {
server unix:/home/yg/Documents/projects/app/run/gunicorn.sock fail_timeout=0;
}

server {
listen 80;
server_name 192.168.0.26;
client_max_body_size 4G;
access_log /home/yg/Documents/projects/app/logs/nginx-access.log;
error_log /home/yg/Documents/projects/app/logs/nginx-error.log;

location /static/ {
alias   /home/yg/Documents/projects/app/static/;
}

location /media/ {
alias   /home/yg/Documents/projects/app/media/;
}

location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_buffering off;
if (!-f $request_filename) {
proxy_pass http://app_server;
break;
}
}
# Error pages
error_page 500 502 503 504 /500.html;
location = /500.html {
root /home/yg/Documents/projects/app/static/;
}
}

【问题讨论】:

  • 是的!这个问题有机会解决吗? ;) 也许通过在组合中添加某个子域:P 自己发布答案并接受它可能是一件好事,或者如果它对其他人没有价值则完全删除该帖子。前者可能更好。

标签: django nginx gunicorn


【解决方案1】:

这个问题与 nginx 无关,原来 gunicorn 不支持使用 web socket 的多个工作人员。将我的工人人数从 3 人更改为 1 人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-19
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 2012-08-20
    • 2016-09-11
    • 1970-01-01
    • 2015-03-31
    相关资源
    最近更新 更多