当前位置: 首页 > news >正文

springboot项目使用websocket功能,使用了nginx反向代理后连接失败问题解决

在本地服务器可以正常连接
在这里插入图片描述
放到生产环境后连接失败
在这里插入图片描述
解决方法:添加websocket代理配置

proxy_http_version 1.1; # 必须使用HTTP/1.1
proxy_set_header Upgrade $http_upgrade; # 传递Upgrade头
proxy_set_header Connection "upgrade"; # 将Connection头设置为"upgrade"

nginx.conf完整配置


#user  nobody;
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {listen       80;server_name  www.mytest.com;# 将所有的HTTP请求重定向到HTTPSreturn 301 https://$server_name$request_uri;}# HTTPS serverserver {listen       443 ssl;server_name  www.mytest.com;ssl_certificate      D:/nginx-1.26.3/ssl/www.mytest.com.crt;ssl_certificate_key  D:/nginx-1.26.3/ssl/www.mytest.com.key;ssl_session_cache    shared:SSL:10m;ssl_session_timeout  10m;ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;ssl_prefer_server_ciphers  on;location / {root   html;index  index.html index.htm;}location /api/ {# 指定要代理到的目标服务器地址proxy_pass http://192.168.1.22:8080/;# 以下是WebSocket代理的核心配置proxy_http_version 1.1; # 必须使用HTTP/1.1proxy_set_header Upgrade $http_upgrade; # 传递Upgrade头proxy_set_header Connection "upgrade"; # 将Connection头设置为"upgrade"# 标准代理头(同样重要)proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme; # 告诉后端这是HTTPS请求# 建议增加超时时间,因为WebSocket是长连接proxy_read_timeout 3600s; # 1小时proxy_send_timeout 3600s;proxy_connect_timeout 30s;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}}

如果是http写使用wx://www.xxx.com,https协议使用wss://www.xxx.com

在这里插入图片描述

http://www.dtcms.com/a/363410.html

相关文章:

  • 集采与反腐双重压力下,医药销售的破局之道:从资源依赖到价值重构
  • DASK shuffle任务图分析
  • 阅读Linux 4.0内核RMAP机制的代码,画出父子进程之间VMA、AVC、anon_vma和page等数据结构之间的关系图。
  • 解密llama.cpp CUDA后端:512 token大模型批处理的异步流水线架构
  • 【llama.cpp】qwen2_vl_surgery.py详解
  • 应用层:HTTP/HTTPS协议
  • 2025年- H109-Lc1493. 删掉一个元素以后全为 1 的最长子数组(双指针)--Java版
  • 软件测试小结(1)
  • 【完整源码+数据集+部署教程】粘土石实例分割系统源码和数据集:改进yolo11-LVMB
  • MVP架构深层剖析-从六大设计原则的实现角度到用依赖注入深度解耦
  • 安全芯片助力游戏设备防抄板
  • 「Windows自动化之王:PowerShell极简美学」​
  • 微信小程序 navigateTo 栈超过多层后会失效
  • 【开题答辩全过程】以 基于微信小程序的体育场馆预约管理系统为例,包含答辩的问题和答案
  • 【Git】一文详解Git Rebase和Merge区别 看完必会
  • 整体认识K8s之PriorityClass优先级调度/HPA自动扩缩容机制
  • golang 依赖管理
  • 网络技术名词 CDN NAT GA DNS
  • 深度学习篇---Pytorch常用优化器
  • 力扣72:编辑距离
  • 用 PyTorch 实现食品图像分类:从数据预处理到模型训练与预测
  • mayfly-go:web 版 linux、数据库等管理平台
  • 码农必备!本地调试神器act,GitHub Actions最佳拍档
  • C++ 条件变量,互斥锁
  • vue飞自在酒店管理系统(代码+数据库+LW)
  • 第十七讲:编译链接与函数栈帧
  • Python图像处理模块介绍
  • Linux 文本处理四剑客:cut, sort, uniq, tr
  • springboot redisson 分布式锁切面入门与实战
  • HTML应用指南:利用POST请求获取全国便利蜂门店位置信息