wss和ws协议转换
项目场景:
一个im项目在测试准备上线的时候,发现微信小程序在正式阶段只支持wss协议
问题描述:
提示:发现微信小程序在正式阶段只支持wss协议,由于通信采用https,所以ws协议无法直接使用,测试开发阶段可以采用ws协议进行
原因分析:
原因在于https和http不能混合使用,wss和ws也是对应的,https下无法使用http和ws协议
解决方案:
于是想到采用nginx代理的方式进行协议转换,解决通信问题,这样既不用修改服务端代码,也不需要修改客户端代码,一举多得。
话不多说,上nginx配置:
server {listen 443 ssl;server_name localhost;ssl_certificate cert.pem;ssl_certificate_key private.key;ssl_session_timeout 1m;ssl_protocols SSLv2 SSLv3 TLSv1.2;ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256:AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;ssl_prefer_server_ciphers on;default_type 'text/html';charset 'utf-8';location / {proxy_pass http://127.0.0.1:8008/;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upgrade";proxy_set_header Remote_addr $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_read_timeout 600s;}}
wss和ws协议转换相关推荐
- Nginx配置WebSocket 【支持wss与ws连接】
一.对wss与nginx代理wss的理解: 1.wss协议实际是websocket+SSL,就是在websocket协议上加入SSL层,类似https(http+SSL). 2.利用nginx代理ws ...
- Websocket服务端和客户端通信(WSS、WS)
前端和后端之间的通讯 一.简介 前端为客户端(Client),后端为服务端(Server) 具体操作步骤为: 1.运行 Server 目录下的 --> WebsocketServerWss_Ws ...
- Gateway worker配置同时支持wss和ws协议
之前项目一直使用ws, 昨天要求Gateway同时支持wss访问,今天记录一下配置过程. 一.Gateway 配置 wss协议 新建一个文件start_gateway_ssl.php 相关配置如图下 ...
- websocket系列:ws和wss的区别
一.ws和wss的区别 Websocket使用 ws 或 wss 的统一资源标志符,类似于 HTTP 或 HTTPS,其中 wss 表示在 TLS 之上的 Websocket ,相当于 HTTPS 了 ...
- Nginx配置域名反向代理MQTT 配置mqtt /ws /wss访问域名连接。
有时候我们想通过域名的方式来进行mqtt的连接. 首先在阿里云上安装mqtt服务器端.本文mqtt服务器端ip地址为: xx.xx.67.177 并配置mqtt监听端口 tcp : 1883 , ht ...
- (转)记录一次迁移 wss WebSocket 的事故
[转载一下] 今天是2018年04月21日. 过去的这一个多月里,我的工(开)作(发)任务转战回了游戏.短短的一个月里,催着输出两款h5游戏,再加上对接.联调,想想真是够辛(ku)苦(bi)的 ...
- spring和maven_具有Spring和Maven教程的JAX–WS
spring和maven Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: ...
- 带有Spring和Maven教程的JAX–WS
Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: 公开基于Servlet的 ...
- Nginx配置wss访问实现微信小程序的websocket通信
WSS是Web Socket Secure的简称, 它是WebSocket的加密版本.WSS与WS类似于HTTPS和HTTP,不同之处在于是不同的通信协议,都运行在SSL(Secure Socket ...
最新文章
- vim上次和下次光标位置
- ElasticSearch-hadoop saveToEs源码分析
- System.Transactions事务超时设置
- SpringBoot中通过@Value获取自定义配置的值
- MYSQL创建一个function用来计算经纬度距离
- ACM旗舰期刊最新综述:一览端到端人脸识别最新进展
- IEEE Transactions on BIG DATA影响因子3.344,进入信息学科计算机理论与方法领域Q1区...
- [Java基础]自动装箱和拆箱
- 线段树-楼房重建-洛谷-P4198
- 【Objective-C】玩转OC:正式开始自学OC
- c# 用空格分割字符串_C#| 左用空格填充字符串
- MATLAB学习笔记(十)
- 【求助】想知道Xcode怎么像devc一样调试程序
- 【scratch高阶案例教学】scratch斐波那契数列 scratch创意编程 少儿编程 小朋友们也可以完成如此神奇的数列
- Xposed 之旅 -- 微信防撤回
- CorelDRAWX4的VBA插件开发(十六)颜色配置文件设置与检测
- ubuntu qemu安装教程
- linux蓝屏修复工具,Windows修复助手
- 阿里无影云电脑 试用评测
- [模版]尽整些歪门邪道
热门文章
- android 日历自定义控件 ,包含 阴历 和 阳历
- 基于MediaPipe的手势识别 --安卓部分
- 动态新闻标题热点分析
- 【超简单】快速复制有序号的代码
- C++ reverse函数使用
- keil MDK 调试运行中程序
- 显示器接口_【知识小科普】什么是DP接口?DP接口可以转接那些接口?|显示器|mini|端口|amd|dvi...
- linux下squashfs使用方法,Linux 系统管理(EL7)-squashfs篇
- uni-app点击按钮弹出提示框
- select for update是行锁还是表锁,还真得看情况