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

資訊專欄INFORMATION COLUMN

Nginx 轉發 socket 端口配置

luodongseu / 682人閱讀

摘要:常規情況,我們可以在用戶頁面,直接建立鏈接,但這樣的操作會暴露端口,帶來一定的安全隱患,使用進行轉發,可以隱藏端口。或者代理服務器可以配置定時發送幀來重置超時及檢查鏈接是否可用。

原文鏈接:何曉東 博客

Nginx 轉發 socket 端口常見場景:在線學習應用,在常規功能之外,增加一個聊天室功能,后端選擇 swoole 提供服務提供者,同時不想前端直接 ip:port 方式鏈接到服務,需要使用 Nginx 進行轉發。

常規情況,我們可以在用戶頁面,直接建立 socket 鏈接,但這樣的操作會暴露端口,帶來一定的安全隱患,使用 Nginx 進行轉發,可以隱藏端口。額外的問題就是一些 header 參數也需要在轉發過程中帶給 socket 服務提供者,其他只需要 Nginx 處理一下從常規協議轉換到 Websocket 就可以。

其中,"Upgrade" 是 逐跳(hop-by-hop) 頭,無法從客戶端轉發到代理服務器,通過轉發代理,客戶端可以使用 CONNECT 方法來規避此問題。但是,這不適用于反向代理,因為客戶端不知道任何代理服務器,并且需要在代理服務器上進行特殊處理。同時逐跳頭包含 "Upgrade" 和 "Connection" 都無法傳遞,則需要在轉換為 Websocket 的時候帶上這兩個參數:例如:

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

進階:讓轉發到代理服務器的 "Connection" 頭字段的值,取決于客戶端請求頭的 "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 為一組負載均衡的服務器,只有單臺服務器的,可以寫成 proxy_pass http://127.0.0.1:9501; 這樣的。

此外,默認情況下,在 60 秒內未傳送任何數據的鏈接將被關閉,時間可以使用 proxy_read_timeout 指令來延長。或者代理服務器可以配置定時發送 ping 幀來重置超時及檢查鏈接是否可用。

參考鏈接: Nginx Websocket proxying

來點更多力量嗎? 當然來 買吧,要吃飯的鴨

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/31621.html

相關文章

  • Nginx 轉發 socket 端口配置

    摘要:常規情況,我們可以在用戶頁面,直接建立鏈接,但這樣的操作會暴露端口,帶來一定的安全隱患,使用進行轉發,可以隱藏端口。或者代理服務器可以配置定時發送幀來重置超時及檢查鏈接是否可用。 原文鏈接:何曉東 博客 Nginx 轉發 socket 端口常見場景:在線學習應用,在常規功能之外,增加一個聊天室功能,后端選擇 swoole 提供服務提供者,同時不想前端直接 ip:port 方式鏈接到服務...

    ztyzz 評論0 收藏0
  • nginx架構

    摘要:反向代理反向代理反向代理負載均衡鑒權限流等邏輯架構在邏輯上分為入口層,模塊化的功能處理層,系統調用層。多個共同監聽事件并處理,反向代理會把請求轉發給后端服務。 一.概述 本文將深入剖析nginx的架構。 第一部分介紹nginx現有框架,用典型的4+1視圖闡述,包括邏輯架構,開發架構,運行架構,物理架構,功能用例,nginx為單機服務,不考慮物理架構。其中功能用例概述nginx功能;邏輯...

    smartlion 評論0 收藏0
  • nginx架構

    摘要:反向代理反向代理反向代理負載均衡鑒權限流等邏輯架構在邏輯上分為入口層,模塊化的功能處理層,系統調用層。多個共同監聽事件并處理,反向代理會把請求轉發給后端服務。 一.概述 本文將深入剖析nginx的架構。 第一部分介紹nginx現有框架,用典型的4+1視圖闡述,包括邏輯架構,開發架構,運行架構,物理架構,功能用例,nginx為單機服務,不考慮物理架構。其中功能用例概述nginx功能;邏輯...

    fuyi501 評論0 收藏0
  • php+nginx項目中的權限

    摘要:權限情況此時只需要擁有文件的權限即可。腳本文件步驟訪問時,為了能夠把正確的腳本處理結果返回給客戶端,需要進行配置告訴是非靜態文件,需要腳本解析器進行處理后才能返回內容。 php+nginx項目中的權限 nginx/php-fpm 進程權限 主進程用戶為啟動的用戶 子進程 nginx的用戶為nginx.conf中配置的用戶 php-fpm的用戶為php-fpm.conf中配置的用戶...

    Lin_YT 評論0 收藏0
  • php+nginx項目中的權限

    摘要:權限情況此時只需要擁有文件的權限即可。腳本文件步驟訪問時,為了能夠把正確的腳本處理結果返回給客戶端,需要進行配置告訴是非靜態文件,需要腳本解析器進行處理后才能返回內容。 php+nginx項目中的權限 nginx/php-fpm 進程權限 主進程用戶為啟動的用戶 子進程 nginx的用戶為nginx.conf中配置的用戶 php-fpm的用戶為php-fpm.conf中配置的用戶...

    魏憲會 評論0 收藏0

發表評論

0條評論

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