项目场景:

一个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协议转换相关推荐

  1. Nginx配置WebSocket 【支持wss与ws连接】

    一.对wss与nginx代理wss的理解: 1.wss协议实际是websocket+SSL,就是在websocket协议上加入SSL层,类似https(http+SSL). 2.利用nginx代理ws ...

  2. Websocket服务端和客户端通信(WSS、WS)

    前端和后端之间的通讯 一.简介 前端为客户端(Client),后端为服务端(Server) 具体操作步骤为: 1.运行 Server 目录下的 --> WebsocketServerWss_Ws ...

  3. Gateway worker配置同时支持wss和ws协议

    之前项目一直使用ws, 昨天要求Gateway同时支持wss访问,今天记录一下配置过程. 一.Gateway 配置 wss协议 新建一个文件start_gateway_ssl.php 相关配置如图下 ...

  4. websocket系列:ws和wss的区别

    一.ws和wss的区别 Websocket使用 ws 或 wss 的统一资源标志符,类似于 HTTP 或 HTTPS,其中 wss 表示在 TLS 之上的 Websocket ,相当于 HTTPS 了 ...

  5. Nginx配置域名反向代理MQTT 配置mqtt /ws /wss访问域名连接。

    有时候我们想通过域名的方式来进行mqtt的连接. 首先在阿里云上安装mqtt服务器端.本文mqtt服务器端ip地址为: xx.xx.67.177 并配置mqtt监听端口 tcp : 1883 , ht ...

  6. (转)记录一次迁移 wss WebSocket 的事故

    [转载一下]   今天是2018年04月21日.   过去的这一个多月里,我的工(开)作(发)任务转战回了游戏.短短的一个月里,催着输出两款h5游戏,再加上对接.联调,想想真是够辛(ku)苦(bi)的 ...

  7. spring和maven_具有Spring和Maven教程的JAX–WS

    spring和maven Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: ...

  8. 带有Spring和Maven教程的JAX–WS

    Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: 公开基于Servlet的 ...

  9. Nginx配置wss访问实现微信小程序的websocket通信

    WSS是Web Socket Secure的简称, 它是WebSocket的加密版本.WSS与WS类似于HTTPS和HTTP,不同之处在于是不同的通信协议,都运行在SSL(Secure Socket ...

最新文章

  1. vim上次和下次光标位置
  2. ElasticSearch-hadoop saveToEs源码分析
  3. System.Transactions事务超时设置
  4. SpringBoot中通过@Value获取自定义配置的值
  5. MYSQL创建一个function用来计算经纬度距离
  6. ACM旗舰期刊最新综述:一览端到端人脸识别最新进展
  7. IEEE Transactions on BIG DATA影响因子3.344,进入信息学科计算机理论与方法领域Q1区...
  8. [Java基础]自动装箱和拆箱
  9. 线段树-楼房重建-洛谷-P4198
  10. 【Objective-C】玩转OC:正式开始自学OC
  11. c# 用空格分割字符串_C#| 左用空格填充字符串
  12. MATLAB学习笔记(十)
  13. 【求助】想知道Xcode怎么像devc一样调试程序
  14. 【scratch高阶案例教学】scratch斐波那契数列 scratch创意编程 少儿编程 小朋友们也可以完成如此神奇的数列
  15. Xposed 之旅 -- 微信防撤回
  16. CorelDRAWX4的VBA插件开发(十六)颜色配置文件设置与检测
  17. ubuntu qemu安装教程
  18. linux蓝屏修复工具,Windows修复助手
  19. 阿里无影云电脑 试用评测
  20. [模版]尽整些歪门邪道

热门文章

  1. android 日历自定义控件 ,包含 阴历 和 阳历
  2. 基于MediaPipe的手势识别 --安卓部分
  3. 动态新闻标题热点分析
  4. 【超简单】快速复制有序号的代码
  5. C++ reverse函数使用
  6. keil MDK 调试运行中程序
  7. 显示器接口_【知识小科普】什么是DP接口?DP接口可以转接那些接口?|显示器|mini|端口|amd|dvi...
  8. linux下squashfs使用方法,Linux 系统管理(EL7)-squashfs篇
  9. uni-app点击按钮弹出提示框
  10. select for update是行锁还是表锁,还真得看情况