Apache环境下快速配置wss

本文介绍了在Linux CentOS 7.6环境中,使用宝塔面板,通过Apache配置WebSocket SSL代理,以实现WSS安全连接。主要步骤包括启用proxy_wstunnel_module模块,配置443端口的SSL代理,将WebSocket请求转发到本地应用端口,并提供了前端连接WSS的示例代码。
摘要由CSDN通过智能技术生成

环境

Linux centos 7.6  
 宝塔面板

准备

使用https访问协议的域名(aa.bb.com)


       通常情况下,浏览器中使用ws://aa.bb.com的方式即可以连接websocket,实现项目中的实时通讯需求,但由于小程序等场景,按要求须使用wss的方式才能来连接websocket服务器。要使用wss,首先需要配置域名使用https协议,其次需要通过apache中的代理功能,开启wss协议的应用,本文重点讲述apache下如何开启代理模块并配置wss协议。

 原理

       wss协议实际是websocket+SSL,就是在websocket协议上加入SSL层,类似https+SSL。 
所以只需要在websocket协议的基础上开启SSL即可支持wss协议。


配置

1.启用 proxy_wstunnel_module 模块,取消注释即可

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

2.配置代理,在443端口下, 127.0.0.1:5800为websocket应用端口

#这块就是最主要的  
SSLProxyEngine on  
ProxyRequests Off  
#服务器+端口号  
ProxyPass /wss ws://127.0.0.1:5800/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenResty 是一个基于 Nginx 的高性能 HTTP 及 WebSocket 代理服务器,它扩展了 Nginx 功能,支持 Lua 脚本,非常适合构建动态 Web 应用和 RESTful 服务。配置 WSSWebSocket over SSL/TLS)使得WebSocket连接可以在安全的 HTTPS 协议下进行。 以下是配置 OpenResty 以启用 WSS的基本步骤: 1. **安装 OpenSSL**: 确保您的 OpenResty 安装已包含 OpenSSL 支持。如果尚未安装,可以通过包管理器或源码安装。 2. **配置 Nginx SSL 证书**: 在 Nginx 配置中添加 SSL 证书和私钥,例如: ```nginx server { listen 443 ssl; ssl_certificate /path/to/your/cert.crt; ssl_certificate_key /path/to/your/private.key; # 加密套件和其他SSL选项可以在这里设置 ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:SEED+AES:RSA+EECDH:!aNULL:!MD5; } ``` 3. **启用 WebSocket 配置**: 在 Nginx 或 Lua 过滤器模块(如 OpenResty 的 ngx_openresty)中,启用 WebSocket 支持。比如,在 Nginx 的 `server` 块中添加以下配置: ```nginx location /ws { proxy_pass http://your-backend-endpoint; 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-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } ``` 这里假设后端应用监听的是 `http://your-backend-endpoint`。 4. **启用 WSS**: 添加 `listen` 语句,指定使用 SSL,如: ```nginx server { listen 443 ssl; # ... 其他SSL配置 ... location /ws { # ... WebSocket配置 ... proxy_protocol on; ssl_protocols TLSv1.2 TLSv1.3; # 如果需要客户端证书验证,可添加类似以下内容: ssl_verify_depth 10; ssl_client_certificate /path/to/client.crt; ssl_verify_mode ssl_verify_peer; } } ``` 5. **启动 Nginx**: 保存配置后,重启或重新加载 Nginx 以应用新配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值