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";

相关推荐
Andy10 分钟前
分流设备的测试报告
运维·服务器
Mr.小海23 分钟前
Docker 容器间依赖管理
运维·docker·容器
zhojiew27 分钟前
编写xds服务并实现envoy服务的动态配置
运维
乾元1 小时前
对抗性攻击:一张贴纸如何让自动驾驶视觉系统失效?
运维·网络·人工智能·安全·机器学习·自动驾驶
UP_Continue2 小时前
Linux--进程间通信
linux·运维·服务器
kaoa0002 小时前
Linux入门攻坚——67、MySQL数据库-4
linux·运维·数据库·mysql
prince_zxill2 小时前
在 Ubuntu 系统下安装 Nanobot:全面指南
linux·运维·ubuntu
Elastic 中国社区官方博客2 小时前
Elasticsearch:使用 Workflow 查询天气,发送消息到 Slack
大数据·运维·人工智能·elasticsearch·搜索引擎·ai
独自归家的兔3 小时前
Harbor 登录报错 - 核心服务不可用
运维·harbor
虹科网络安全3 小时前
艾体宝洞察 | 流程自动化的下一步,是决策自动化
运维·自动化