日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

nginx反向代理配置 多个_实例分享:Nginx学习之反向代理WebSocket配置实例

發布時間:2023/12/20 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx反向代理配置 多个_实例分享:Nginx学习之反向代理WebSocket配置实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在開始

去年,做過一款競賽打分的APP。具體需求,同組教師之間可以相互通信,及時通知同組人員,其他組員做了那些操作(當然,這只是針對特定操作)。

實現方案

采用目前比較成熟的WebSocket技術,WebSocket協議為創建客戶端和服務器端需要實時雙向通訊的webapp提供了一個選擇。其為HTML5的一部分,WebSocket相較于原來開發這類app的方法來說,其能使開發更加地簡單。大部分現在的瀏覽器都支持WebSocket,比如Firefox,IE,Chrome,Safari,Opera,并且越來越多的服務器框架現在也同樣支持WebSocket。

WebSocket集群

在實際的生產環境中,要求多個WebSocket服務器必須具有高性能和高可用,那么WebSocket協議就需要一個負載均衡層,NGINX從1.3開始支持WebSocket,其可以作為一個反向代理和為WebSocket程序做負載均衡。

Nginx配置

注:看官方文檔說 Nginx 在 1.3 以后的版本才支持 websocket 反向代理,所以要想使用支持 websocket 的功能,必須升級到 1.3 以后的版本

NGINX通過允許一個在客戶端和后端服務器之間建立的隧道來支持WebSocket。為了NGINX發送來至于客戶端Upgrade請求到后端服務器,Upgrade和Connection頭部必須被設置明確。

代碼實例:

前端配置:

最后,重啟下Nginx即可。

反向代理服務器在支持WebSocket時面臨的挑戰

WebSocket是端對端的,所以當一個代理服務器從客戶端攔截一個Upgrade請求,它需要去發送它自己的Upgrade請求到后端服務器,也包括合適的頭。

因為WebSocket是一個長連接,不像HTTP那樣是典型的短連接,所以反向代理服務器需要允許連接保持著打開,而不是在它們看起來空閑時就將它們關閉。

總結

以上是生活随笔為你收集整理的nginx反向代理配置 多个_实例分享:Nginx学习之反向代理WebSocket配置实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。