nginx代理websocket请求报400错误的问题解决

我使用nginx的86端口代理的websocket,用postman测试的时候一直报这个错,

经过测试,直接请求端口号又是正常的

那基本可以确认是nginx代理的问题出了点问题,经检查发现配置不对,调整后正常了,调整后如下

复制代码
location /websocket/{
        proxy_buffer_size  128k;
        proxy_buffers   32 32k;
        proxy_busy_buffers_size 128k;
        proxy_pass    http://127.0.0.1:7095/secondary-transaction-server/websocket/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";   
        proxy_set_header Host $host;
        proxy_connect_timeout 3s;
        proxy_read_timeout 60s;
        proxy_send_timeout 12s;
        proxy_buffering off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

其中最重要的是三个

//告诉nginx使用HTTP/1.1通信协议,这是websoket必须要使用的协议

proxy_http_version 1.1;

//下面两个是告诉nginx,如果是WebSocket时,需要响应http升级请求

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "upgrade";

相关推荐
黄毛火烧雪下3 小时前
【Ruby 】脚本和自动化语言 常用的内容
运维·自动化·ruby
小白不想白a4 小时前
【shell】每日shell练习:安全日志入侵检测/系统配置文件合规检查
运维·服务器
洛克大航海5 小时前
Linux 中新建用户
linux·运维·服务器
dehuisun6 小时前
jenkins流水线部署springboot项目
运维·jenkins
蜜蜜不吃糖7 小时前
解决Vcenter告警datastore存储容量不足问题
linux·运维·服务器
东城绝神7 小时前
《Linux运维总结:基于ARM64+X86_64架构CPU使用docker-compose一键离线部署redis 7.4.5容器版分片集群》
linux·运维·redis·架构·分片集群
stark张宇7 小时前
超越 Hello World:深入小程序 Hybrid 初衷、安全配置与上线全链路
nginx·微信小程序·php
迷路爸爸1808 小时前
解决GitHub SSH密钥冲突:一台电脑多账户配置
运维·ssh·github
newxtc8 小时前
【浙江政务服务网-注册_登录安全分析报告】
运维·selenium·安全·政务
FJW0208148 小时前
【Linux】系统中的文件管理
linux·运维·服务器