国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

關于小程序websocket全套解決方案,Nginx代理wss

Zoom / 1565人閱讀

摘要:需求對話提問我在本地能夠使用協議去鏈接,但是小程序不能使用。回答由于小程序使用的是加密協議,所以需要使用。這里與的關系就相當于于的關系。例如至此代理就算全部。

需求對話 提問

我在本地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

相關文章

  • 關于程序websocket全套解決方案Nginx代理wss

    摘要:需求對話提問我在本地能夠使用協議去鏈接,但是小程序不能使用。回答由于小程序使用的是加密協議,所以需要使用。這里與的關系就相當于于的關系。例如至此代理就算全部。 需求對話 提問 我在本地web能夠使用ws協議去鏈接websocket,但是小程序不能使用。 回答 由于小程序使用的是SSL加密協議,所以需要使用wss。這里wss與ws的關系就相當于https于http的關系。 提問 我用的是...

    kel 評論0 收藏0
  • 九種跨域方式實現原理(完整版)

    摘要:二跨域解決方案原理利用標簽沒有跨域限制的漏洞,網頁可以得到從其他來源動態產生的數據。使用反向代理實現跨域,是最簡單的跨域方式。 前言 前后端數據交互經常會碰到請求跨域,什么是跨域,以及有哪幾種跨域方式,這是本文要探討的內容。 本文完整的源代碼請猛戳github博客,紙上得來終覺淺,建議動手敲敲代碼 一、什么是跨域? 1.什么是同源策略及其限制內容? 同源策略是一種約定,它是瀏覽器最核心...

    edgardeng 評論0 收藏0
  • 九種跨域方式實現原理(完整版)

    摘要:二跨域解決方案原理利用標簽沒有跨域限制的漏洞,網頁可以得到從其他來源動態產生的數據。使用反向代理實現跨域,是最簡單的跨域方式。 前言 前后端數據交互經常會碰到請求跨域,什么是跨域,以及有哪幾種跨域方式,這是本文要探討的內容。 本文完整的源代碼請猛戳github博客,紙上得來終覺淺,建議動手敲敲代碼 一、什么是跨域? 1.什么是同源策略及其限制內容? 同源策略是一種約定,它是瀏覽器最核心...

    justCoding 評論0 收藏0
  • 九種 “姿勢” 讓你徹底解決跨域問題

    摘要:什么是跨域當協議域名端口號,有一個或多個不同時,有希望可以訪問并獲取數據的現象稱為跨域訪問,同源策略限制下都是不支持跨域的。命名是隨意的,只要是符合一級域名與二級域名的關系即可,然后訪問。 showImg(https://segmentfault.com/img/remote/1460000018998493); 閱讀原文 同源策略 同源策略/SOP(Same origin pol...

    charles_paul 評論0 收藏0

發表評論

0條評論

Zoom

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<