Handshake failed due to invalid Upgrade header: null 解决方案
微信小程序webSocket使用,本地开发环境没问题,QA环境报错:
org.springframework.web.socket.server.support.DefaultHandshakeHandler : Handshake failed due to invalid Upgrade header: null
前端报错:
failed: Error during WebSocket handshake: Unexpected response code: 400
经过比较后发现,QA环境使用nginx反向代理服务器忽略了headers中的:Upgrade:websocket。
解决办法:在 Nginx ,location
中添加以下红色代码:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection
"upgrade"
;
1 server { 2 listen 80; 3 server_name localhost; 4 5 6 location / { 7 proxy_set_header X-Real-IP $remote_addr; 8 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 9 proxy_set_header Host $http_host; 10 proxy_set_header X-NginX-Proxy true; 11 12 # prevents 502 bad gateway error 13 proxy_buffers 8 32k; 14 proxy_buffer_size 64k; 15 16 proxy_pass http://127.0.0.1:8080; 17 proxy_redirect off; 18 19 # enables WS support 20 proxy_http_version 1.1; 21 proxy_set_header Upgrade $http_upgrade; 22 proxy_set_header Connection "upgrade"; 23 } 24 }
使得请求中包含Upgrade。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2016-04-17 java设计模式--原始模型模式
2016-04-17 mysql-5.7.9-winx64 MySQL服务无法启动,服务没有报告任何错误的解决办法