欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡介Nginx服務(wù)器的Websockets配置方法

 更新時(shí)間:2015年06月26日 11:32:54   投稿:goldensun  
這篇文章主要介紹了簡介Nginx服務(wù)器的Websockets配置方法,是使用Nginx服務(wù)器的網(wǎng)管的必備知識(shí)XD~需要的朋友可以參考下

Nginx 1.3.13 已經(jīng)發(fā)布了,該版本支持 Connection: upgrade 和 Upgrade 頭,這就意味著支持WebSocket代理了.很多人都在等這個(gè)新特性以至于 “Nginx 支持 websockets 嗎?” 成為了 freenode上的#nginx頻道最常問的問題. 有了這種方式,讓我們來看看Nginx的WebSocket實(shí)現(xiàn).
Nginx新添加的Websockets配置指令

文檔中提到的配置如下:(譯者注:原文中的鏈接其實(shí)不是文檔的鏈接.現(xiàn)在nginx的官方文檔中已經(jīng)有websocket的說明了http://nginx.org/en/docs/http/websocket.html)
 

復(fù)制代碼 代碼如下:

    location /chat/ {
    proxy_pass http://backend;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    }

這配置的確是相當(dāng)簡單連配置HTTP的版本都是以前版本就支持的. 我們還可以稍微優(yōu)化一下配置,通過創(chuàng)建一個(gè)鏈接的變量把proxy_set_headers放到一個(gè)公共的包含文件中,以此來提高通用性.

復(fù)制代碼 代碼如下:
 
    map $http_connection $upgrade_requested {
    default upgrade;
    '' close;
    }

這樣使得變量 $upgrade_requested 可以在 proxy_set_header Connection 里面使用,而且如果沒有 upgrade 的鏈接請(qǐng)求,則Conection這個(gè)頭會(huì)被設(shè)置為"",這樣就不會(huì)干擾普通的請(qǐng)求了.這樣做的好處是,如果你只使用HTTP/1.1代理,那么你不需要再另外配置一個(gè)location來專門處理WebSockets.


鏈接升級(jí)似乎沒有往后移植到穩(wěn)定的版本中,因此如果你想要使用鏈接升級(jí)功能,你必須使用開發(fā)版本。感激的是nginx的開發(fā)版本并不意味著它不是運(yùn)行穩(wěn)定版,只是意味著API會(huì)變,在這種情況下只會(huì)影響模塊的編寫者。不要害怕安裝開發(fā)版本來嘗試這個(gè)新特征。

局限性:

到目前為止,在websocket的執(zhí)行部署中有一些局限性:

客戶端必須制定鏈接升級(jí)

客戶端必須請(qǐng)求鏈接升級(jí),否則nginx將會(huì)失敗。當(dāng)前這個(gè)要求在代碼里列為要做的部分,因此我需要說它是怎么失敗的,但是我可以肯定的是它最后也會(huì)被執(zhí)行,因此我不需要依賴它。這個(gè)約束對(duì)任何人來說不是個(gè)問題,只會(huì)在當(dāng)模塊的編寫者或許想要應(yīng)用連接升級(jí)到后端且本身處理響應(yīng)的情況下才會(huì)是問題。


WebSockets 超時(shí)
WebSockets 仍然受到缺省為60秒的proxy_read_timeout 的影響。這意味著,如果你有一個(gè)程序使用了 WebSockets,但又可能超過60秒不發(fā)送任何數(shù)據(jù)的話,那你要么需要增加超時(shí)時(shí)間,要么實(shí)現(xiàn)一個(gè) ping 的消息以保持聯(lián)系。使用 ping 的解決方法有額外的好處,可以發(fā)現(xiàn)連接是否被意外關(guān)閉。

Keep-Alive & WebSockets
Keep-alive pings 對(duì)上述超時(shí)問題無效,因?yàn)樗鼈冎皇窃?TCP 級(jí)別上發(fā)送空包。它們不向應(yīng)用程序報(bào)告,所以應(yīng)用程序也不響應(yīng)它們,因此 proxy_read_timeout 仍然會(huì)觸發(fā)。
 

WebSockets支持SSL
由于WebSockets綁定在正常的代理模塊中,所以SSL照常的工作運(yùn)行。

代理緩存
WebSockets利用兩個(gè)內(nèi)存緩沖區(qū)來實(shí)現(xiàn)代理緩存配置(proxy_buffer_size)的大小,一個(gè)用于上行數(shù)據(jù),另一個(gè)用于下行數(shù)據(jù)。WebSockets和普通的代理請(qǐng)求所不同的是,WebSockets不會(huì)將數(shù)據(jù)緩存到磁盤。

大小寫敏感的Upgrade頭部
有一些后端程序?qū)pgrade頭做大小寫檢查,同時(shí)支持“upgrade”和“Upgrade”兩種寫法,否則的話,只有“upgrade”寫法能正常工作。如果配置看上去都正確,就是不能正常工作,就要嘗試修改頭部的大小寫了。

相關(guān)文章

  • Nginx安裝后常用功能配置基礎(chǔ)篇

    Nginx安裝后常用功能配置基礎(chǔ)篇

    這篇文章主要介紹了Nginx安裝后常用的功能配置,為了在使用中更高效簡潔,Nginx安裝后通常會(huì)進(jìn)行一些常用的配置,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • 詳解基于CentOS 7配置Nginx自啟動(dòng)

    詳解基于CentOS 7配置Nginx自啟動(dòng)

    這篇文章主要介紹了詳解基于CentOS 7配置Nginx自啟動(dòng),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • LNMP編譯安裝之nginx安裝配置方法圖文教程

    LNMP編譯安裝之nginx安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了LNMP編譯安裝之nginx安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Nginx定時(shí)切割日志實(shí)現(xiàn)詳解

    Nginx定時(shí)切割日志實(shí)現(xiàn)詳解

    這篇文章主要介紹了Nginx定時(shí)切割日志詳解,Nginx日志默認(rèn)情況下寫入到一個(gè)文件中,為了區(qū)分各個(gè)域下的日志,我們一般會(huì)分開存儲(chǔ)。即時(shí)這樣,文件也會(huì)變的越來越大,非常不方便查看分析。下面來聊聊以日期來分隔Nginx日志,需要的朋友可以參考下
    2019-07-07
  • nginx配置虛擬主機(jī)vhost的方法詳解

    nginx配置虛擬主機(jī)vhost的方法詳解

    Nginx vhost配置,可實(shí)現(xiàn)基于ip、端口號(hào)、servername的虛擬主機(jī),同時(shí)可避免直接修改主配置文件。在nginx下配置虛擬主機(jī)vhost非常方便。這篇文章主要介紹了nginx配置虛擬主機(jī)vhost的方法,需要的朋友可以參考下
    2017-03-03
  • Nginx listen 監(jiān)聽端口的實(shí)現(xiàn)配置

    Nginx listen 監(jiān)聽端口的實(shí)現(xiàn)配置

    本文將介紹Nginx的listen指令及其在配置文件中的應(yīng)用,通過了解listen指令,我們可以知道Nginx如何監(jiān)聽端口,并配置相應(yīng)的服務(wù)器塊來處理進(jìn)入的請(qǐng)求
    2023-12-12
  • 如何使用k8s部署nginx服務(wù)

    如何使用k8s部署nginx服務(wù)

    Deployment是用來定義和管理 Pod 的高級(jí)控制器,它描述了應(yīng)用程序的期望狀態(tài),例如需要運(yùn)行的 Pod 數(shù)量、使用的鏡像版本等信息,本文給大家介紹如何使用k8s部署nginx服務(wù),感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • 在nginx中部署https服務(wù)的詳細(xì)步驟

    在nginx中部署https服務(wù)的詳細(xì)步驟

    Web服務(wù)器一般指網(wǎng)站服務(wù)器,可以處理瀏覽器等Web客戶端的請(qǐng)求并返回相應(yīng)響應(yīng),也可以放置網(wǎng)站文件,讓全世界瀏覽;可以放置數(shù)據(jù)文件,讓全世界下載,本文主要介紹nginx中部署https服務(wù)的具體流程,也是搭建web的開端與主要步驟之一
    2023-10-10
  • Nginx實(shí)現(xiàn)if多重判斷配置方法示例

    Nginx實(shí)現(xiàn)if多重判斷配置方法示例

    這篇文章主要介紹了Nginx實(shí)現(xiàn)if多重判斷配置方法示例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-05-05
  • 1分鐘搞定Nginx版本的平滑升級(jí)與回滾的方法

    1分鐘搞定Nginx版本的平滑升級(jí)與回滾的方法

    這篇文章主要介紹了1分鐘搞定Nginx版本的平滑升級(jí)與回滾的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10

最新評(píng)論