最近几天做微信小程序的Websocket来处理一些聊天消息!期间遇到了一些比较坑的地方,记录一下
第一: 微信小程序不支持设置端口, 而我们做socket一般都会自己定义端口号来访问
这里,由于微信小程序不支持设置端口号,
那我在本地发起socket请求,则填写:
1 2 3 |
wx.connectSocket({ url: 'wss://play.he29.com/websocket' }); |
这样的话,我们就可以在nginx里设置规则来获取
设置nginx的代理到我们socket服务指定的端口!
1 2 3 4 5 6 7 8 9 10 |
location /websocket { proxy_pass http://127.0.0.1:4006; proxy_http_version 1.1; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header X-Real-IP $remote_addr; } |
由于我的后端socket是php的woekman写的,
workman自己可以设置ssl, 所以如果在nginx里配置了ssl,
则一定不要在php的socket里设置ssl,不然会出错!