亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Nginx 轉(zhuǎn)發(fā) socket 端口配置

ztyzz / 3704人閱讀

摘要:常規(guī)情況,我們可以在用戶頁(yè)面,直接建立鏈接,但這樣的操作會(huì)暴露端口,帶來(lái)一定的安全隱患,使用進(jìn)行轉(zhuǎn)發(fā),可以隱藏端口。或者代理服務(wù)器可以配置定時(shí)發(fā)送幀來(lái)重置超時(shí)及檢查鏈接是否可用。

原文鏈接:何曉東 博客

Nginx 轉(zhuǎn)發(fā) socket 端口常見(jiàn)場(chǎng)景:在線學(xué)習(xí)應(yīng)用,在常規(guī)功能之外,增加一個(gè)聊天室功能,后端選擇 swoole 提供服務(wù)提供者,同時(shí)不想前端直接 ip:port 方式鏈接到服務(wù),需要使用 Nginx 進(jìn)行轉(zhuǎn)發(fā)。

常規(guī)情況,我們可以在用戶頁(yè)面,直接建立 socket 鏈接,但這樣的操作會(huì)暴露端口,帶來(lái)一定的安全隱患,使用 Nginx 進(jìn)行轉(zhuǎn)發(fā),可以隱藏端口。額外的問(wèn)題就是一些 header 參數(shù)也需要在轉(zhuǎn)發(fā)過(guò)程中帶給 socket 服務(wù)提供者,其他只需要 Nginx 處理一下從常規(guī)協(xié)議轉(zhuǎn)換到 Websocket 就可以。

其中,"Upgrade" 是 逐跳(hop-by-hop) 頭,無(wú)法從客戶端轉(zhuǎn)發(fā)到代理服務(wù)器,通過(guò)轉(zhuǎn)發(fā)代理,客戶端可以使用 CONNECT 方法來(lái)規(guī)避此問(wèn)題。但是,這不適用于反向代理,因?yàn)榭蛻舳瞬恢廊魏未矸?wù)器,并且需要在代理服務(wù)器上進(jìn)行特殊處理。同時(shí)逐跳頭包含 "Upgrade" 和 "Connection" 都無(wú)法傳遞,則需要在轉(zhuǎn)換為 Websocket 的時(shí)候帶上這兩個(gè)參數(shù):例如:

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

進(jìn)階:讓轉(zhuǎn)發(fā)到代理服務(wù)器的 "Connection" 頭字段的值,取決于客戶端請(qǐng)求頭的 "Upgrade" 字段值。例如:

http {
    map $http_upgrade $connection_upgrade {
        default upgrade;
        ""      close;
    }

    server {
        ...

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

注意:示例中的 http://backend 為一組負(fù)載均衡的服務(wù)器,只有單臺(tái)服務(wù)器的,可以寫成 proxy_pass http://127.0.0.1:9501; 這樣的。

此外,默認(rèn)情況下,在 60 秒內(nèi)未傳送任何數(shù)據(jù)的鏈接將被關(guān)閉,時(shí)間可以使用 proxy_read_timeout 指令來(lái)延長(zhǎng)?;蛘叽矸?wù)器可以配置定時(shí)發(fā)送 ping 幀來(lái)重置超時(shí)及檢查鏈接是否可用。

參考鏈接: Nginx Websocket proxying

來(lái)點(diǎn)更多力量嗎? 當(dāng)然來(lái) 買吧,要吃飯的鴨

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/40448.html

相關(guān)文章

  • Nginx 轉(zhuǎn)發(fā) socket 端口配置

    摘要:常規(guī)情況,我們可以在用戶頁(yè)面,直接建立鏈接,但這樣的操作會(huì)暴露端口,帶來(lái)一定的安全隱患,使用進(jìn)行轉(zhuǎn)發(fā),可以隱藏端口。或者代理服務(wù)器可以配置定時(shí)發(fā)送幀來(lái)重置超時(shí)及檢查鏈接是否可用。 原文鏈接:何曉東 博客 Nginx 轉(zhuǎn)發(fā) socket 端口常見(jiàn)場(chǎng)景:在線學(xué)習(xí)應(yīng)用,在常規(guī)功能之外,增加一個(gè)聊天室功能,后端選擇 swoole 提供服務(wù)提供者,同時(shí)不想前端直接 ip:port 方式鏈接到服務(wù)...

    luodongseu 評(píng)論0 收藏0
  • nginx架構(gòu)

    摘要:反向代理反向代理反向代理負(fù)載均衡鑒權(quán)限流等邏輯架構(gòu)在邏輯上分為入口層,模塊化的功能處理層,系統(tǒng)調(diào)用層。多個(gè)共同監(jiān)聽事件并處理,反向代理會(huì)把請(qǐng)求轉(zhuǎn)發(fā)給后端服務(wù)。 一.概述 本文將深入剖析nginx的架構(gòu)。 第一部分介紹nginx現(xiàn)有框架,用典型的4+1視圖闡述,包括邏輯架構(gòu),開發(fā)架構(gòu),運(yùn)行架構(gòu),物理架構(gòu),功能用例,nginx為單機(jī)服務(wù),不考慮物理架構(gòu)。其中功能用例概述nginx功能;邏輯...

    smartlion 評(píng)論0 收藏0
  • nginx架構(gòu)

    摘要:反向代理反向代理反向代理負(fù)載均衡鑒權(quán)限流等邏輯架構(gòu)在邏輯上分為入口層,模塊化的功能處理層,系統(tǒng)調(diào)用層。多個(gè)共同監(jiān)聽事件并處理,反向代理會(huì)把請(qǐng)求轉(zhuǎn)發(fā)給后端服務(wù)。 一.概述 本文將深入剖析nginx的架構(gòu)。 第一部分介紹nginx現(xiàn)有框架,用典型的4+1視圖闡述,包括邏輯架構(gòu),開發(fā)架構(gòu),運(yùn)行架構(gòu),物理架構(gòu),功能用例,nginx為單機(jī)服務(wù),不考慮物理架構(gòu)。其中功能用例概述nginx功能;邏輯...

    fuyi501 評(píng)論0 收藏0
  • php+nginx項(xiàng)目中的權(quán)限

    摘要:權(quán)限情況此時(shí)只需要擁有文件的權(quán)限即可。腳本文件步驟訪問(wèn)時(shí),為了能夠把正確的腳本處理結(jié)果返回給客戶端,需要進(jìn)行配置告訴是非靜態(tài)文件,需要腳本解析器進(jìn)行處理后才能返回內(nèi)容。 php+nginx項(xiàng)目中的權(quán)限 nginx/php-fpm 進(jìn)程權(quán)限 主進(jìn)程用戶為啟動(dòng)的用戶 子進(jìn)程 nginx的用戶為nginx.conf中配置的用戶 php-fpm的用戶為php-fpm.conf中配置的用戶...

    Lin_YT 評(píng)論0 收藏0
  • php+nginx項(xiàng)目中的權(quán)限

    摘要:權(quán)限情況此時(shí)只需要擁有文件的權(quán)限即可。腳本文件步驟訪問(wèn)時(shí),為了能夠把正確的腳本處理結(jié)果返回給客戶端,需要進(jìn)行配置告訴是非靜態(tài)文件,需要腳本解析器進(jìn)行處理后才能返回內(nèi)容。 php+nginx項(xiàng)目中的權(quán)限 nginx/php-fpm 進(jìn)程權(quán)限 主進(jìn)程用戶為啟動(dòng)的用戶 子進(jìn)程 nginx的用戶為nginx.conf中配置的用戶 php-fpm的用戶為php-fpm.conf中配置的用戶...

    魏憲會(huì) 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<