定制软件开发详细nginx配置websocket的wss协议

需求: 定制软件开发小程序连接websocket,必须使用wss协议
配置websocket以及wss协议
其实wss定制软件开发协议就是使用了ssl定制软件开发协议的域名所自带的协议,所以wss定制软件开发协议需要域名来进行连接,并且开通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;        }    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

主要涉及到ws的配置是

proxy_set_header Upgrade $http_upgrade;proxy_set_header Connetion $conn_upgrade;
  • 1
  • 2

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

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

  location /ws {            proxy_pass http://localhost:28888;            # ...            }
  • 1
  • 2
  • 3
  • 4

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

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发