亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Nginx配置支持WebSocket功能詳解

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

Nginx配置支持WebSocket功能

剛部署一個項目需要使用到WebScoket實現(xiàn)。但通過域名指向NG做了反向代理,發(fā)現(xiàn)通過域名訪問不了,通過查找資料后發(fā)現(xiàn)需要在Nginx添加WebSocket的轉發(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";    #配置連接為升級連接
        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é)議的請求是沒有問題的

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

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

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

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

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

在這個配置中:

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

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

總結

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

相關文章

  • Nginx部署項目上傳文件報錯413的解決方法

    Nginx部署項目上傳文件報錯413的解決方法

    本文主要介紹了Nginx部署項目上傳文件報錯413的解決方法,報錯413是因為Nginx對上傳大小做了限制,所以我們需要配置文件,下面就來解決這個問題,感興趣的可以了解一下
    2024-03-03
  • Nginx反爬蟲策略,防止UA抓取網(wǎng)站

    Nginx反爬蟲策略,防止UA抓取網(wǎng)站

    目前網(wǎng)絡上的爬蟲非常多,有對網(wǎng)站收錄有益的,比如百度蜘蛛(Baiduspider),也有不但不遵守robots規(guī)則對服務器造成壓力,還不能為網(wǎng)站帶來流量的無用爬蟲,為防止網(wǎng)站有可能會被別人爬,通過配置Nginx, 我們可以攔截大部分爬蟲
    2020-09-09
  • Nginx進程管理和重載原理詳解

    Nginx進程管理和重載原理詳解

    這篇文章主要給大家介紹了關于Nginx進程管理和重載原理的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Nginx配置支持WebSocket功能詳解

    Nginx配置支持WebSocket功能詳解

    Nginx配置支持WebSocket功能需要添加特定配置,網(wǎng)上通用配置只能支持ws請求,而既支持http又支持ws的配置中,使用map$http_upgrade$connection_upgrade塊來設置Connection頭的值,并指定使用HTTP/1.1版本以保持連接打開,確保Nginx版本是1.3或更高
    2024-11-11
  • 安裝配置php-fpm來搭建Nginx+PHP的生產(chǎn)環(huán)境

    安裝配置php-fpm來搭建Nginx+PHP的生產(chǎn)環(huán)境

    這篇文章主要介紹了安裝配置php-fpm來搭建Nginx+PHP的生產(chǎn)環(huán)境的方法,php-fpm的作用是將FastCGI進程管理整合進PHP包,需要的朋友可以參考下
    2016-01-01
  • 如何使用Nginx解決跨域問題詳解

    如何使用Nginx解決跨域問題詳解

    本地運行一個項目,但是要訪問外域的api接口,存在跨域問題,下面這篇文章主要給大家介紹了關于如何使用Nginx解決跨域問題的相關資料,文中介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • Nginx的正則表達式詳解

    Nginx的正則表達式詳解

    今天來聊一聊他的正則表達式的使用規(guī)則,我會簡單的舉幾個例子然后進行說明講解,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • LNMP編譯安裝之nginx安裝配置方法圖文教程

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

    這篇文章主要為大家詳細介紹了LNMP編譯安裝之nginx安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 詳解Nginx proxy_pass的一個/斜杠引發(fā)的血案

    詳解Nginx proxy_pass的一個/斜杠引發(fā)的血案

    這篇文章主要介紹了詳解Nginx proxy_pass的一個/斜杠引發(fā)的血案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Nginx基礎學習之realip模塊的使用方法

    Nginx基礎學習之realip模塊的使用方法

    這篇文章主要給大家介紹了關于Nginx基礎學習之realip模塊使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Nginx具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-06-06

最新評論