问题

部署一个实时查看服务器日志的Django项目,完成后 点击调用WebSocket时 报错 Error during WebSocket handshake: Unexpected response code: 500

原因

经排查nginx的location缺少参数导致无法建立长连接

解决

添加
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;

完整配置如下

upstream cfweb {
server 127.0.0.1:8000 weight=5 fail_timeout=5s max_fails=10;
}

server {
listen 80;
server_name cf.com;
location /{
proxy_pass http://cfweb;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
proxy_buffers 32 32k;   
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

}
access_log /data/logs/nginx/cf.com.access.log;
error_log /data/logs/nginx/cf.error.log;
}



如果想赏钱,可以用微信扫描下面的二维码,一来能刺激我写博客的欲望,二来好维护云主机的费用; 另外再次标注博客原地址 itnotebooks.com 感谢!

CI/CD(五)Flink 应用部署

环境 代码托管:gitlab CI:tekton CD: tekton pipline/task: 阿里云 serverless容器(spot实例按秒计费) 应用:K8S Flink 应用需要解决的是任务的灵活增加...

阅读全文

CI/CD(四)VM 应用部署

环境 代码托管:gitlab CI:tekton CD: 代码自实现多批次部署 pipline/task: 阿里云 serverless容器(spot实例且按秒计费) 应用:ECS(ESS) 应用部署在弹性...

阅读全文

CI/CD(三)GPU 应用部署(k8s)

环境 代码托管:gitlab CI:tekton CD: ArgoCD pipline/task: 阿里云 serverless容器(spot实例且按秒计费) 应用:k8s GPU应用的特殊性在于单个镜像的大小在...

阅读全文

欢迎留言