溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

什么是基于Nginx的Wesocket負(fù)載均衡

發(fā)布時(shí)間:2020-04-20 14:41:45 來源:億速云 閱讀:317 作者:三月 欄目:建站服務(wù)器

下文給大家?guī)硎裁词腔贜ginx的Wesocket負(fù)載均衡,希望能夠給大家在實(shí)際運(yùn)用中帶來一定的幫助,負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用億速云在行業(yè)內(nèi)累計(jì)的經(jīng)驗(yàn)做一個(gè)解答。

分享一個(gè)基于NginxWesocket的負(fù)載均衡。

1.在mac電腦安裝nginx

brew install nginx

2.安裝完成以后nginx的配置文件路徑

 /usr/local/etc/nginx/nginx.conf

3.編輯配置文件進(jìn)行配置

在http塊

新增配置

    #gzip  on;

   map $http_upgrade $connection_upgrade {

        default upgrade;

        '' close;

    } 

    upstream ws_server {

      server qa.server.com:2048;

      server qa.server.ai:2048;

   }


  server {

 listen   2048;

  server_name localhost;


  location /ws { 

   proxy_pass http://ws_server/ws;

    proxy_redirect off;

    proxy_http_version 1.1;

    proxy_set_header Upgrade $http_upgrade;

    proxy_set_header Connection "upgrade";

   }

}

什么是基于Nginx的Wesocket負(fù)載均衡

簡(jiǎn)要說明一下,nginx監(jiān)聽2048端口,把請(qǐng)求轉(zhuǎn)發(fā)到qa.server.h,qa.server.test

客戶端通過這個(gè)地址 連接:ws://localhost:2048/ws


之前一直有疑問,為什么ws協(xié)議要通過http協(xié)議來代理?


ws 協(xié)議的握手部分是借用http協(xié)議了,在握手完成以后進(jìn)行了協(xié)議的切換(header部分的upgrade)。

這個(gè)查看網(wǎng)絡(luò)連接


    1. Request URL:

      ws://localhost:2048/ws

    2. Request Method:

      GET

    3. Status Code:

    4. 101 Switching Protocols


  1. Response Headersview source

    1. Connection:

      upgrade

    2. Date:

      Fri, 15 Sep 2017 01:48:28 GMT

    3. sec-websocket-accept:

      r+ZclgKaM7r9b6RklYinaGUcvwE=

    4. Server:

      nginx/1.12.1

    5. upgrade:

      websocket

  2. Request Headersview source

    1. Accept-Encoding:

      gzip, deflate, br

    2. Accept-Language:

      en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4

    3. Cache-Control:

      no-cache

    4. Connection:

      Upgrade

    5. Host:

      localhost:2048

    6. Origin:

      http://localhost:8000

    7. Pragma:

      no-cache

    8. Sec-WebSocket-Extensions:

      permessage-deflate; client_max_window_bits

    9. Sec-WebSocket-Key:

      yoh4s/VG9x099oJEoP4FNA==

    10. Sec-WebSocket-Version:

      13

    11. Upgrade:

      websocket

    12. User-Agent:

      Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36

看了以上關(guān)于什么是基于Nginx的Wesocket負(fù)載均衡,如果大家還有什么地方需要了解的可以在億速云行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,億速云技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗(yàn)了。

 




向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI