摘要:需求對話提問我在本地能夠使用協議去鏈接,但是小程序不能使用。回答由于小程序使用的是加密協議,所以需要使用。這里與的關系就相當于于的關系。例如至此代理就算全部。
需求對話 提問
我在本地web能夠使用ws協議去鏈接websocket,但是小程序不能使用。
回答由于小程序使用的是SSL加密協議,所以需要使用wss。這里wss與ws的關系就相當于https于http的關系。
提問我用的是寶塔Linux,SSL好申請,但是wss我就不會配置了。
回答對的寶塔Linux申請SSL很簡單,一鍵申請,相對https實現就很簡單了。那我們開始做配置吧。但前提你需要保證以下的幾個必備條件。
前提必備:
需要先為你的websocket域名申請SSL
寶塔Linux(非寶塔其實一樣能用,但是我這里的教程主要針對寶塔Linux做的)
Nginx代理WSS這一步主要用來實現wss轉ws(即轉到http)
打開管理后臺,點開“網站”->“相應的域名”->“配置文件”(我糊的地方只是我的域名和ip信息,不是重要信息,不用在意)
搜索#SSL-END,在這串注釋后面加上以下代碼,圖上我已經加上了,所以和你的肯定不一樣
#wss協議轉發 小程序里面要訪問的鏈接 # 訪問:wss://xxxx.com/wss location /wss { proxy_pass http://host:8080;#代理到上面的地址去, proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; }
關于以上的配置我必須要說清楚,proxy_pass http://host:8080后面的地址加端口是你websocket的地址,這里必須加上端口,例如:http://baidu.com:8080,這里需要手動改的就是這一個地方。
先別關閉這個窗口,接下來還有接下來把鼠標移到最頂端,也就是server上面添加以下代碼,一樣的道理,我這里已經添加了,所以和你的不一樣,以你的為準
map $http_upgrade $connection_upgrade { default upgrade; "" close; } upstream websocket { server ip:8080; #這里可以是多個服務端IP(分多行),設置權重就可以實現負載均衡了 }
這里需要手動設置一下,就是在upstream websocket里面有一個ip:8080。這個ip請替換成你的IP,IP在什么地方可以看到呢,看你寶塔linux左上角就有了,對就是那個。例如:server 114.114.114.114:8080
至此Nginx代理wss就算全部ok。請注意我用的socket端口是8080,如果你的端口被占用,請你更改,當然如果改了請把一系列的都改了
小程序websocket使用官方文檔:https://developers.weixin.qq....
我這里只是做連接測試。只是一個Demo
miniWebsocket:function(){ wx.connectSocket({ url: "wss://host/wss", //這里只需要填寫你開始配置的域名就好,但是請在域名后面添加一個/wss。例如:wss://baidu.com/wss }) wx.onSocketOpen(function(res){ console.log(res) console.log("打開成功") }) wx.onSocketMessage(function(res){ console.log("收到服務器信息"+JSON.stringify(res)) }) wx.onSocketOpen(function (res) { console.log("WebSocket連接已打開!") console.log("數據發送") wx.sendSocketMessage({ data: "ekeylee" }) }) }
上圖就是我已經配置好小程序的返回信息,如果有什么地方寫的不是很清楚,請文末留言,感謝
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29481.html
摘要:需求對話提問我在本地能夠使用協議去鏈接,但是小程序不能使用。回答由于小程序使用的是加密協議,所以需要使用。這里與的關系就相當于于的關系。例如至此代理就算全部。 需求對話 提問 我在本地web能夠使用ws協議去鏈接websocket,但是小程序不能使用。 回答 由于小程序使用的是SSL加密協議,所以需要使用wss。這里wss與ws的關系就相當于https于http的關系。 提問 我用的是...
摘要:二跨域解決方案原理利用標簽沒有跨域限制的漏洞,網頁可以得到從其他來源動態產生的數據。使用反向代理實現跨域,是最簡單的跨域方式。 前言 前后端數據交互經常會碰到請求跨域,什么是跨域,以及有哪幾種跨域方式,這是本文要探討的內容。 本文完整的源代碼請猛戳github博客,紙上得來終覺淺,建議動手敲敲代碼 一、什么是跨域? 1.什么是同源策略及其限制內容? 同源策略是一種約定,它是瀏覽器最核心...
摘要:二跨域解決方案原理利用標簽沒有跨域限制的漏洞,網頁可以得到從其他來源動態產生的數據。使用反向代理實現跨域,是最簡單的跨域方式。 前言 前后端數據交互經常會碰到請求跨域,什么是跨域,以及有哪幾種跨域方式,這是本文要探討的內容。 本文完整的源代碼請猛戳github博客,紙上得來終覺淺,建議動手敲敲代碼 一、什么是跨域? 1.什么是同源策略及其限制內容? 同源策略是一種約定,它是瀏覽器最核心...
摘要:什么是跨域當協議域名端口號,有一個或多個不同時,有希望可以訪問并獲取數據的現象稱為跨域訪問,同源策略限制下都是不支持跨域的。命名是隨意的,只要是符合一級域名與二級域名的關系即可,然后訪問。 showImg(https://segmentfault.com/img/remote/1460000018998493); 閱讀原文 同源策略 同源策略/SOP(Same origin pol...
閱讀 2618·2021-11-12 10:36
閱讀 2257·2021-08-23 09:47
閱讀 1675·2019-08-30 15:44
閱讀 1400·2019-08-30 14:10
閱讀 2241·2019-08-29 16:52
閱讀 2333·2019-08-29 16:40
閱讀 1582·2019-08-29 16:17
閱讀 2407·2019-08-26 13:21