问题

部署一个实时查看服务器日志的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 感谢!

mysql-使用问题记录-1

背景: mysql所在服务器停服关机,忘记把从库mysql停掉,等主库启动从库报错: Last_IO_Error: Got fatal error 1236 from master when reading data from bi...

阅读全文

Terraform操作阿里云ECS,批量创建ECS云主机

利用Terraform实现运维平台的IaaS层,由于公司用的全是阿里云,所以以阿里云为例,不过既然是Terraform,其实无需太在意这个,基类封装好,什么云可以,甚至...

阅读全文

Pyenv+Pyenv-Virtualenv多py版本虚拟环境

当前系统环境 CentOS Linux release 7.5.1804 (Core) #准备安装包 yum -y install readline-devel zlib-devel bzip2-devel sqlite-devel openssl-devel yum ...

阅读全文

欢迎留言