需求: 小程序连接websocket,必须使用wss协议
nginx配置websocket以及wss协议
其实wss协议就是使用了ssl协议的域名所自带的协议,所以wss协议需要域名来进行socket连接,并且开通ssl证书访问即可。
首先部署项目:
项目的websocket接口在内部为: localhost:28888
也就是本地通过 ws://localhost:28888 进行socket连接,当然因为使用域名wss,所以此处需要放到服务器 ws://你的服务器ip:28888 (这样访问的前提是将28888加入开放端口)

首先设置新二级域名的dns解析
并且开通ssl证书
下载ssl证书(此处使用腾讯云,里面有nginx部署ssl证书教程)
上传ssl证书到服务器,并将证书部署到对应的二级域名
nginx配置websocket

map $http_upgrade $conn_upgrade {default upgrade;'' close;}server {listen 80;listen 443 ssl;server_name www.aaa.com; # 按实际域名添加# 证书地址(根据喜好选择文件夹)ssl_certificate /www/wwwcertificate/xxx.crt; # 按实际文件名填# 证书key地址ssl_certificate_key /www/wwwcertificate/xxx.key;ssl_session_timeout 5m;ssl_protocols TLSv1.2 TLSv1.3;#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on;location /ws {#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。#例如,您的网站运行目录在/etc/www下,则填写/etc/www。proxy_pass http://localhost:28888;  # 本地服务的ws连接端口proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connetion $conn_upgrade;}}

主要涉及到ws的配置是

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connetion $conn_upgrade;

这两行配置的意思是将http协议升级为ws协议。变量值为前面定义的map

这样跳转会有个有意思的地方,那就是在服务端获取localhost:28888后面的参数时,会将上级代理的参数也获取到
比如:使用 www.aaa.com/ws连接ws,那么会获取到uri为/ws。这里明明是:

  location /ws {proxy_pass http://localhost:28888;# ...}

按道理应该是 www.aaa.com/ws/ws对应是localhost:28888/ws,uri才是/ws,
此处也就是说,最终获取的其实是连接域名的uri,而不管是否经过代理

详细nginx配置websocket的wss协议相关推荐

  1. 宝塔中nginx配置websocket的wss协议

    配置ws也就是不安全的协议,比较简单,可以参考我之前的文章 在配置wss之前要准备好ssl证书, 配置证书也很简单,只要上传两个证书,就好了,我这里就不再赘述了,我这里证书已经配置好了,配置wss的代 ...

  2. nginx配置websocket支持wss

    和前端联调完项目之后,将项目部署到了开发环境上面.结果这时候发现ws连接报错了,怎么回事,明明和前端在本地都联调好了的! 观察报错发现,提示我们需要使用wss连接,而我和前端在对接联调时使用的是ws连 ...

  3. WebSocket 结合 Nginx 实现域名及 WSS 协议访问

    简单了解一下 WebSocket 现在,很多网站为了实现推送技术,所用的技术都是轮询.轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器 ...

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

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

  5. Websocket实现wss协议连接支持语音聊天功能

    部署单页应用 SPA 时,我们通常使用 Nginx 做中间层进行转发代理.为了保护 Web 安全,要求我们使用 HTTPS(HTTP + SSL) 以及 WSS(Websocket + SSL) 进行 ...

  6. 【Web通信】WebSocket详解:WebSocket是什么?如何使用WebSocket?在Vue中封装WebSocket(心跳监测)。nginx配置websocket。

    一.WebSocket相关定义 1. WebSocket定义 WebSocket 是一种基于TCP的全双工通信协议,它提供了一种在浏览器和服务器之间建立持久连接来交换数据的方法.数据可以作为" ...

  7. Nginx配置WS、WSS域名

    文章目录 一.Nginx配置WS 二.Nginx配置WSS 一.Nginx配置WS WS的全称是WebSocket,Nginx配置WebSocket也比较简单,只需要在nginx.conf文件中进行相 ...

  8. nginx实现对websocket加密协议wss协议的反向代理以及websocket整合springboot入门(踩坑)

    出发点 最近公司需要有一个推送前端消息的需求 首选websocket进行推送,也做过客服系统接触过,最近看了一点websocket的相关内容记录总结一下. 什么是websocket websocket ...

  9. EMQ踩坑之路-搭建/测试/nginx配置websocket的ws及wss/web页面测试连通性、微信小程序使用wss--MQTT推送

    最近公司要做推送平台,我接手做这个任务.在使用过程中遇到一些坑,这里分享给大家. 一.MQTT协议介绍 推送平台一般是基于轻量级的mqtt协议搭建的.mqtt协议是物联网领域常用的,是实现长链接的一种 ...

最新文章

  1. 多个tab可以组成一个表单吗 js_11个表单设计小技巧
  2. Ubuntu Server下配置UTF-8中文/英文环境
  3. 外贸常用术语_外贸干货!做外贸常用的贸易术语,几个妙招教你快速记住!
  4. 波束形成、回声消除、声源定位及端到端等语音信号处理算法
  5. boost::signals2模块连接扩展槽的示例程序,使用信号的 connect_extended 和 extended_slot_type
  6. linux内核研究(二)
  7. ES6-2 块级作用域与嵌套、let、暂行性死区
  8. 使用DbContextPool提高EfCore查询性能
  9. 微信小程序背景音乐官方实例代码无效问题解决及音乐src获取方法
  10. 如何使用python将二维数组去重呢?
  11. RS编码的matlab仿真
  12. 计算机科学系绩效分配方案,山西大学计算机与信息技术学院岗位绩效实施方案.docx...
  13. 【机器学习】拉普拉斯平滑
  14. 尚硅谷宋红康java基础学习笔记
  15. 社群运营:让群不死,付费粉丝多次转化的模式探讨
  16. javascript脚本_应用JavaScript:用户脚本
  17. 计算机主机核心通常包括,计算机的主机主要包括什么
  18. PaaS、IaaS 、SaaS、Bass、Fass、无服务的理解与区别
  19. bcd转ascii码 流程图_BCD码转换成ASCII值
  20. 计算机网络笔试面试常考

热门文章

  1. 快速计算log2()
  2. QTP的键盘鼠标录制
  3. Matlab kaiser窗 C++实现
  4. jQuery lightBox plugin 灯箱效果
  5. python pip安装报错_Python pip安装失败:无效命令egg_info
  6. 全世界最像人的「机器人」,本身就是人
  7. 移植TP-LINK TL-WN721N 驱动到micro2440(by liukun321咕唧咕唧)
  8. python使用scrapy开发爬虫
  9. 网站漏洞挖掘测试服务
  10. Windows编程-判断一个程序是64还是32位的小程序