Spring Task和WebSocket使用

在现代 Web 应用中,WebSocket 作为一种全双工通信协议,为实时数据传输提供了强大的支持。若要确保 WebSocket 在生产环境中的稳定性和性能,使用 Nginx 作为反向代理服务器是一个明智的选择。本篇文章将带你了解如何在 Nginx 中配置 WebSocket,并验证其是否正常工作。

1. Nginx 中的 WebSocket 配置
1.1 安装 Nginx

在进行配置之前,确保你的系统上已安装 Nginx。你可以使用以下命令来安装:

Ubuntu/Debian:

复制代码
sudo apt update
sudo apt install nginx

CentOS/RHEL:

复制代码
sudo yum install nginx
1.2 基本 Nginx 配置

打开 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf/etc/nginx/sites-available/default),并添加以下内容以支持 WebSocket 连接。

注意监听端口号不是80的话,反向代理可能成功不了

复制代码
server {
    listen 80;   # 注意这里要替换为80  (websockt默认瞄准端口)
    server_name yourdomain.com;  # 替换为你的域名

    location /ws {  # WebSocket 路径
        proxy_pass http://localhost:8080;  # 你的 WebSocket 服务器地址
        proxy_http_version 1.1;  # 确保使用 HTTP/1.1
        proxy_set_header Upgrade $http_upgrade;  # 必须的配置
        proxy_set_header Connection "Upgrade";  # 必须的配置
        proxy_set_header Host $host;  # 保留主机头部
        proxy_set_header X-Real-IP $remote_addr;  # 客户端真实 IP
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  # 转发 IP
        proxy_set_header X-Forwarded-Proto $scheme;  # 转发协议
    }

    location / {  # 其他请求
        proxy_pass http://localhost:8080;  # 可以根据实际情况修改
    }
}
我修改了proxy_pass让他直接访问我的后端服务,之前的是

如果要使用myserver 要先配置好自己的,我的是webservers 不太一样且端口号不同,就改掉了

1.3 重启 Nginx

配置完成后,需要重启 Nginx 以应用更改:

复制代码
sudo systemctl restart nginx
# 或者
nginx -s reload
2. 验证 WebSocket 配置的正确性

确保 WebSocket 正常工作的方式有很多,以下是几种简单有效的方法:

2.1 使用浏览器的开发者工具
  1. 打开你的网页应用并使用浏览器的开发者工具(通常按 F12)。
  2. 切换到 Network 标签。
  3. 刷新页面,并查看 WebSocket 连接。
  4. 查找以 ws://wss:// 开头的请求,确认其状态为 101 Switching Protocols。这表示 WebSocket 连接已成功建立。
相关推荐
藥瓿亭26 分钟前
K8S认证|CKS题库+答案| 7. Dockerfile 检测
运维·ubuntu·docker·云原生·容器·kubernetes·cks
搬码临时工1 小时前
如何把本地服务器变成公网服务器?内网ip网址转换到外网连接访问
运维·服务器·网络·tcp/ip·智能路由器·远程工作·访问公司内网
Guheyunyi1 小时前
监测预警系统重塑隧道安全新范式
大数据·运维·人工智能·科技·安全
知更鸟呆呆2 小时前
【Linux操作系统】基础开发工具(yum、vim、gcc/g++)
linux·运维·vim
Gold Steps.3 小时前
Docker容器部署elasticsearch8.*与Kibana8.*版本使用filebeat采集日志
运维·docker·云原生·es
m0_637146933 小时前
C语言基础面试问答
运维·服务器
ricky_fan4 小时前
window下配置ssh免密登录服务器
运维·服务器·ssh
地衣君4 小时前
Ubuntu 配置使用 zsh + 插件配置 + oh-my-zsh 美化过程
linux·运维·ubuntu
2401_858286114 小时前
OS11.【Linux】vim文本编辑器
linux·运维·服务器·编辑器·vim
朱包林4 小时前
day27-shell编程(自动化)
linux·运维·服务器·网络·shell脚本