微信小程序需要使用 https 与 wss 能才进行连接, 虽然开发模式下可以使用 http 与 ws, 但发布的时候还是需要安全协议, 网上的各种配置是超多超复杂的, 这里已经对 nginx 指定版本进行最简单的配置, 可用
使用教程
nginx 版本
- $ nginx -v
- nginx version: nginx/1.12.2
系统 Centos7
- $ uname -r
- 4.14.11-1.el7.elrepo.x86_64
- cat /etc/nginx/conf.d/test.conf
- server {
- listen 80;
- server_name test.dounine.com;
- return 301 https://$host$request_uri;
- }
- server {
- listen 443;
- server_name test.dounine.com;
- ssl on;
- ssl_certificate /etc/nginx/ssls/test.xxxx.pem;
- ssl_certificate_key /etc/nginx/ssls/test.xxxx.key;
- location / {
- client_max_body_size 100m;
- proxy_pass http://localhost:7777;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection "Upgrade";
- }
- }
微信小程序代码
- wx.connectSocket({url: 'wss://test.dounine.com/ws'});
- wx.onSocketOpen(function(res) {
- console.info('websocket 连接成功');
- });
- wx.onSocketClose(function(res) {
- console.log('WebSocket 已关闭!')
- });
- wx.onSocketError(function(res){
- console.log('WebSocket 连接打开失败, 请检查!')
- });
- wx.onSocketMessage(function(res) {
- console.log('收到服务器内容:' + res.data)
- })
来源: https://blog.csdn.net/rolan1993/article/details/79802968