Nginx配置WSS安全WebSocket代理

配置 Nginx 代理 WebSocket (WSS)

以下是一个完整的 Nginx 配置示例,用于代理 WebSocket 安全连接 (WSS)。该配置包含了 SSL 证书设置和反向代理部分。

nginx 复制代码
server {
    listen 443;
    server_name your_domain.com;

    ssl on;
    ssl_certificate /path/to/your_certificate.crt;
    ssl_certificate_key /path/to/your_private_key.key;

     ssl_session_timeout 5m;
     ssl_session_cache shared:SSL:10m;
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv2 SSLv3;
     ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
     ssl_prefer_server_ciphers on;
     ssl_verify_client off;

    location /wss/ {
        proxy_pass http://127.0.0.1:9501/;
        proxy_http_version 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;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

关键配置说明

所有 WebSocket 连接都需要通过 HTTP/1.1 进行升级。确保包含以下指令:

nginx 复制代码
	proxy_http_version 1.1;
	proxy_set_header Upgrade $http_upgrade;
	proxy_set_header Connection "upgrade";

常见问题解决方案

SSL 协议和加密套件建议使用更安全的配置:

nginx 复制代码
	ssl_session_timeout 5m;
	ssl_session_cache shared:SSL:10m;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv2 SSLv3;
	ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
	ssl_prefer_server_ciphers on;
	ssl_verify_client off;

路径斜杠问题需要注意:

  • location /wss/ 匹配以 /wss/ 开头的 URL
  • proxy_pass http://127.0.0.1:9501/ 结尾有斜杠

连接方式

客户端应使用以下格式连接:

复制代码
wss://域名/wss/

调试建议

检查 Nginx 错误日志定位问题:

复制代码
tail -f /var/log/nginx/error.log

验证配置语法是否正确:

复制代码
nginx -t

重载 Nginx 配置使更改生效:

复制代码
systemctl reload nginx
相关推荐
志栋智能1 小时前
安全超自动化如何支持大规模安全运营?
网络·安全·自动化
安科瑞黄益鸣1 小时前
筑牢高压直流安全防线:AIM‑T500L 绝缘监测仪在算力中心 DC800V 系统的应用
安全
HugoStudio_SWAN1 小时前
洛谷 B4500 / B4449 / B3843 凯撒密码、密码强度与密码合规——加密与安全的三道门
c++·学习·程序人生·算法·安全
小五传输2 小时前
FTP替代怎么做?医院文件安全传输选型与迁移指南
大数据·运维·安全
luckystar513~3 小时前
Hermes 实战 :系列收官/生产化——安全审计与运维
运维·人工智能·安全·agent·智能体开发·hermes实战·智能体网关
大模型码小白4 小时前
AI大模型接入SDK:人工智能核心概念与发展史
大数据·运维·人工智能·安全·prompt
wjcroom4 小时前
一个可以在线多人玩的五子棋开发与布署方法-WebRTC和WebSocket的测试方法
websocket·网络协议·webrtc
金立基胶粘5 小时前
如何利用替塑油推动环保发展?
大数据·安全
微财经观圈7 小时前
酒店配送机器人如何选型:普渡和优地从安全到场景的全面对比
大数据·安全·机器人
是隼人7 小时前
buuctf-pwn [HarekazeCTF2019]baby_rop2(64位ret2libc)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门