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

Nginx配置支持WebSocket功能詳解

 更新時(shí)間:2024年11月18日 16:25:01   作者:浪子塵晨  
Nginx配置支持WebSocket功能需要添加特定配置,網(wǎng)上通用配置只能支持ws請(qǐng)求,而既支持http又支持ws的配置中,使用map$http_upgrade$connection_upgrade塊來設(shè)置Connection頭的值,并指定使用HTTP/1.1版本以保持連接打開,確保Nginx版本是1.3或更高

Nginx配置支持WebSocket功能

剛部署一個(gè)項(xiàng)目需要使用到WebScoket實(shí)現(xiàn)。但通過域名指向NG做了反向代理,發(fā)現(xiàn)通過域名訪問不了,通過查找資料后發(fā)現(xiàn)需要在Nginx添加WebSocket的轉(zhuǎn)發(fā)配置。

一、網(wǎng)上通用配置

在網(wǎng)上找到大部分配置如下所示

location /websocket/ {
        proxy_pass http://myserver;
 
        proxy_http_version 1.1;
        proxy_read_timeout 360s;   
        proxy_redirect off;   
        proxy_set_header Upgrade $http_upgrade; 
        proxy_set_header Connection "upgrade";    #配置連接為升級(jí)連接
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

使用如上連接,如果所有的連接僅僅為 "ws" 協(xié)議的請(qǐng)求是沒有問題的

但是如果要及支持 http 請(qǐng)求又支持 ws 請(qǐng)求上述配置就不起作用了

二、既支持http又支持ws的配置

通過nginx官方關(guān)于WebSocket的配置得知,可以自定義變量。

故配置如下,就可以做到既支持 ws 請(qǐng)求,又支持 http請(qǐng)求。

http {
 
   #自定義變量 $connection_upgrade
    map $http_upgrade $connection_upgrade { 
        default          keep-alive;  #默認(rèn)為keep-alive 可以支持 一般http請(qǐng)求
        'websocket'      upgrade;     #如果為websocket 則為 upgrade 可升級(jí)的。
    }
 
    server {
        ...
 
        location /chat/ {
            proxy_pass http://backend;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade; #此處配置 上面定義的變量
            proxy_set_header Connection $connection_upgrade;
        }
    }
}

在這個(gè)配置中:

  • map $http_upgrade $connection_upgrade 塊用于根據(jù)客戶端發(fā)送的 Upgrade 頭的值設(shè)置 Connection 頭的值。
  • proxy_pass 指向WebSocket服務(wù)的后端地址。
  • proxy_http_version 1.1 指定使用HTTP/1.1版本以保持連接打開。
  • proxy_set_header Upgrade $http_upgrade 和 proxy_set_header Connection $connection_upgrade 確保正確的頭被發(fā)送到后端,以便它可以識(shí)別WebSocket連接。

確保您的Nginx版本是1.3或更高,以支持WebSocket。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Nginx速查手冊(cè)及常見問題

    Nginx速查手冊(cè)及常見問題

    Nginx是一款輕量級(jí)的HTTP服務(wù)器,采用事件驅(qū)動(dòng)的異步非阻塞處理方式框架,這讓其具有極好的IO性能,時(shí)常用于服務(wù)端的反向代理和負(fù)載均衡,這篇文章主要介紹了Nginx速查手冊(cè)及常見問題,,需要的朋友可以參考下
    2022-04-04
  • Nginx啟用Brotli算法壓縮的示例

    Nginx啟用Brotli算法壓縮的示例

    這篇文章主要介紹了Nginx啟用Brotli算法壓縮的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • 詳解 Nginx 負(fù)載均衡和反向代理配置和優(yōu)化

    詳解 Nginx 負(fù)載均衡和反向代理配置和優(yōu)化

    這篇文章主要介紹了詳解 Nginx 負(fù)載均衡和反向代理配置和優(yōu)化的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Nginx反向代理實(shí)現(xiàn)支持長連接詳解

    Nginx反向代理實(shí)現(xiàn)支持長連接詳解

    這篇文章主要給大家介紹了關(guān)于Nginx反向代理實(shí)現(xiàn)支持長連接的相關(guān)資料,文字介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-06-06
  • 在Nginx中攔截特定用戶代理的教程

    在Nginx中攔截特定用戶代理的教程

    這篇文章主要介紹了在Nginx中攔截特定用戶代理的教程,并為這些被攔截的用戶設(shè)置一個(gè)黑名單以方便管理,需要的朋友可以參考下
    2015-06-06
  • 使用Nginx搭建代理服務(wù)器(正向代理HTTPS網(wǎng)站)的操作指南

    使用Nginx搭建代理服務(wù)器(正向代理HTTPS網(wǎng)站)的操作指南

    在網(wǎng)絡(luò)應(yīng)用中,代理服務(wù)器是用于中轉(zhuǎn)用戶請(qǐng)求和服務(wù)端響應(yīng)的工具,正向代理主要用于客戶端與外部服務(wù)器之間的訪問代理,幫助客戶端隱藏其 IP 地址或訪問受限資源,本文將詳細(xì)介紹如何使用 Nginx 搭建正向代理服務(wù)器,特別是針對(duì) HTTPS 網(wǎng)站的代理
    2024-11-11
  • windows下nginx的安裝使用及解決80端口被占用nginx不能啟動(dòng)的問題

    windows下nginx的安裝使用及解決80端口被占用nginx不能啟動(dòng)的問題

    這篇文章主要給大家介紹了關(guān)于windows下nginx的安裝使用,以及如何解決80端口被占用導(dǎo)致nginx不能啟動(dòng)的問題,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。
    2017-04-04
  • Nginx 防止被域名惡意解析的辦法

    Nginx 防止被域名惡意解析的辦法

    這篇文章主要介紹了Nginx 防止被域名惡意解析的方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握理解這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • nginx安裝并轉(zhuǎn)發(fā)socket服務(wù)實(shí)現(xiàn)方式

    nginx安裝并轉(zhuǎn)發(fā)socket服務(wù)實(shí)現(xiàn)方式

    文章指導(dǎo)如何安裝編譯工具、PCRE和Nginx,并通過修改配置文件添加stream塊實(shí)現(xiàn)端口轉(zhuǎn)發(fā),將9999/801端口分別映射至9988/1557端口
    2025-07-07
  • Nginx如何配置Http、Https、WS、WSS的方法步驟

    Nginx如何配置Http、Https、WS、WSS的方法步驟

    這篇文章主要介紹了Nginx如何配置Http、Https、WS、WSS的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05

最新評(píng)論