Nginx反向代理无法连接:
WebSocket 可以减小客户端与服务器端建立连接的次数,减小系统资源开销,只需要一次 HTTP 握手,整个通讯过程是建立在一次连接 / 状态中,也就避免了 HTTP 的非状态性,服务端会一直与客户端保持连接,直到你关闭请求,同时由原本的客户端主动询问,转换为服务器有信息的时候推送
大多数用它还来做实时通信的功能,我们可以使用 Swoole 的 WebSocketServer 来作为服务端
客户端的话,支持就很多了,比如 Chrome/Firefox/ 高版本 IE/Safari 等浏览器内置了 JS 语言的 WebSocket 客户端、微信小程序开发框架内置的 WebSocket 客户端、异步的 PHP 程序中可以使用 SwooleHttpClient 作为 WebSocket 客户端等等
ws 和 wss 是什么?有什么区别
Websocket 使用 ws 或 wss 的统一资源标志符,类似于 HTTP 或 HTTPS,其中 wss 表示在 TLS 之上的 Websocket ,相当于 HTTPS 了
默认情况下,Websocket 的 ws 协议使用 80 端口,wss 协议默认使用 443 端口
这篇文章我们来看一下如何使用 Nginx 反向代理来解决 WebSocket 的 wss 服务问题,即客户端通过 Wss 协议连接 Nginx 然后 Nginx 通过 Ws 协议和 Server 通讯
也就是说 Nginx 负责通讯加解密,Nginx 到 Server 是明文的,Swoole 不用开启 ssl,而且还能隐藏服务器端口和负载均衡
配置 Nginx
server {
#下面这个部分和正常配置 https 没有什么区别
listen 443;
server_name 域名;
ssl on;
#申请域名对应的证书
ssl_certificate 你的证书.crt;
ssl_certificate_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;
#反向代理 需要把后续.php相关的和重写index.php的部分删除
location / {
proxy_redirect off;
proxy_pass http://127.0.0.1:9501; #转发到你本地的9501端口 对应 ws 的端口
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr:$remote_port;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}
}
复制代码
重载 Nginx 服务,如果没有错误,打开 测试工具,服务地址输入 wss://域名
无需添加端口号,点击开启连接,提示 OPENED,恭喜你 Wss 服务就可以了
7 comments
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新车上路,只带前10个人
新盘 上车集合 留下 我要发发 立马进裙
跨界融合的尝试为文章注入新鲜活力。
多语种文献的引用彰显学术包容性。
文章的叙述风格独特,用词精准,让人回味无穷。