国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

nginx 配置支持websocket轉(zhuǎn)發(fā)

這篇具有很好參考價(jià)值的文章主要介紹了nginx 配置支持websocket轉(zhuǎn)發(fā)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

方式1.動(dòng)態(tài)判斷是否需要升級(jí)websocket協(xié)議

編輯nginx.conf,在http區(qū)域內(nèi)一定要添加下面配置:

http {

????#自定義變量 $connection_upgrade

????map $http_upgrade $connection_upgrade {

????????default ?????????keep-alive; ?#默認(rèn)為keep-alive 可以支持 一般http請(qǐng)求

????????'websocket' ?????upgrade; ????#如果為websocket 則為 upgrade 可升級(jí)的。

????}

}

map指令的作用:

該作用主要是根據(jù)客戶端請(qǐng)求中$http_upgrade 的值,來構(gòu)造改變$connection_upgrade的值,即根據(jù)變量$http_upgrade的值創(chuàng)建新的變量$connection_upgrade,

創(chuàng)建的規(guī)則就是{}里面的東西。如果 $http_upgrade為websocket的話,那么$connection_upgrade的值為upgrade支持升級(jí)協(xié)議。否則為keep-alive

server {
? ?server_name test.server;
? ?listen 8083;
? ?listen [::]:8083;
?

? ?location / { //默認(rèn)匹配

????????????proxy_pass http://$httpUpstreamName_8083;

? ? ? ? ? ? #Nginx代理webSocket經(jīng)常中斷(超時(shí))的解決方法

????????????proxy_connect_timeout 4s; ???????????????

????????????proxy_read_timeout 60s; ?????????????????#如果沒效,可以考慮這個(gè)時(shí)間配置長(zhǎng)一點(diǎn)

????????????proxy_send_timeout 12s;? ? ? ? ? ? ? ??

????????????#升級(jí)http1.1到 websocket協(xié)議

????????????proxy_http_version 1.1;

????????????proxy_set_header Upgrade $http_upgrade;

????????????proxy_set_header Connection ?$connection_upgrade;

? ? }

}

測(cè)試ws連接轉(zhuǎn)發(fā)是否正常:ws://test.server:8083/

方式2.直接寫死升級(jí)websocket

server {
? ?server_name test.server;

? ?listen 80;
? ?listen [::]:80;
? ?listen 8083;
? ?listen [::]:8083;
? ?listen 8088;
? ?listen [::]:8088;

????location / { #只能通過$serviceName配置 $httpUpstreamName_xxx可能不存在

????????if ($server_port = "80") { #sys default require

????????????proxy_pass http://$serviceName:80;

????????}

????????if ($server_port = "8080") { #sys default require

????????????proxy_pass http://$serviceName:8080;

????????}

????????if ($server_port = "8088") { #custom

????????????proxy_pass http://$serviceName:8088;

????????}

????????proxy_pass http://$serviceName:8083;

????????proxy_http_version 1.1;

????????proxy_set_header Upgrade $http_upgrade;

????????proxy_set_header Connection "upgrade";

? ? }

}

測(cè)試ws連接轉(zhuǎn)發(fā)是否正常:ws://test.server:8083/

拓展閱讀:

在nginx中,每個(gè)server塊應(yīng)該具有唯一的server_name來避免沖突,不同server塊中server_name不允許重復(fù)。

set命令用于設(shè)置變量,set $XX=XX,在server塊中set設(shè)置的變量,僅當(dāng)前server塊中有效。

在 HTTP 協(xié)議中,keep-alive、upgrade 和 close 是三種不同的連接管理方式。它們之間的區(qū)別如下:

keep-alive: 這是 HTTP 的默認(rèn)連接管理方式。當(dāng)使用 keep-alive 時(shí),允許多個(gè)請(qǐng)求和響應(yīng)重復(fù)使用相同的 TCP 連接。這樣可以減少建立和關(guān)閉連接的開銷,提高性能。同一連接上的多個(gè)請(qǐng)求將被連續(xù)發(fā)送和接收,直到達(dá)到連接的最大空閑時(shí)間或收到顯式的關(guān)閉連接指令。

upgrade: 這是一種特殊的連接升級(jí)方式,通常用于支持協(xié)議升級(jí),例如從 HTTP 到 WebSocket。當(dāng)客戶端發(fā)送一個(gè)帶有 “Upgrade” 頭部的請(qǐng)求時(shí),服務(wù)器可以將連接升級(jí)到另一個(gè)具有自定義功能的協(xié)議。在升級(jí)的過程中,服務(wù)器和客戶端之間通常會(huì)協(xié)商協(xié)議的切換和其他必要的握手。

close: 當(dāng)服務(wù)器或客戶端希望終止連接時(shí),可以發(fā)送一個(gè)帶有 “Connection: close” 頭部的請(qǐng)求或響應(yīng)。這會(huì)指示對(duì)方關(guān)閉連接。在這種情況下,無論之前是否啟用了 keep-alive,連接都會(huì)被關(guān)閉,無法復(fù)用。文章來源地址http://www.zghlxwxcb.cn/news/detail-736616.html

到了這里,關(guān)于nginx 配置支持websocket轉(zhuǎn)發(fā)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • nginx配置websocket或https的轉(zhuǎn)發(fā)教程

    1、把普通的IP訪問改為自己的域名,例如我們希望的域名是mywebsocket.test.com,那么前端頁面配置的地址如下 2、頁面的DEMO如下,比較簡(jiǎn)單 3、nginx的配置如下 4、nginx命令,每次nginx.conf修改后,需要重新reload

    2024年02月11日
    瀏覽(20)
  • nginx配置websocket支持(官方版)

    nginx配置websocket支持(官方版)

    程序中如果用到websocket實(shí)現(xiàn)后臺(tái)與前臺(tái)的及時(shí)通訊功能,如果后臺(tái)用nginx進(jìn)行反向代理, 那么就需要在nginx配置對(duì)websocket的支持。 否則前端就會(huì)報(bào)websocket超時(shí)的錯(cuò)誤。 經(jīng)常我們解決這種問題的思路是到網(wǎng)上搜索大家解決問題的方法。但是人云易云,我感覺最好的方式還是看看

    2024年02月03日
    瀏覽(17)
  • Nginx代理nginx.conf配置——反向代理(對(duì)WebSocket支持)

    Nginx代理nginx.conf配置——反向代理(對(duì)WebSocket支持)

    基于Nginx代理nginx.conf配置——反向代理,如果要添加websocket支持,需要進(jìn)行如下配置 在http中添加一下配置,添加對(duì)websocket支持 配置后重新運(yùn)行nginx后,websocket即可成功代理。 注意防火墻端口是否開放、nginx如果使用docker,其對(duì)應(yīng)的端口是否映射出來。

    2024年02月13日
    瀏覽(37)
  • windows下采用 nginx配置websocket支持wss流程

    windows下采用 nginx配置websocket支持wss流程

    第一步、安裝OpenSSL (1)下載OpenSSL軟件包 地址:https://slproweb.com/products/Win32OpenSSL.html OpenSSL版本說明: Win64 OpenSSL v1.1.1wLight,安裝Win64 OpenSSL v1.1.1w最常用的軟件包 Win64 OpenSSL v1.1.1w,安裝Win64 OpenSSL v1.1.1w完整軟件包 Win32 OpenSSL v1.1.1w Light,安裝Win32 OpenSSL v1.1.1w最常用的軟件包

    2024年02月22日
    瀏覽(32)
  • flask實(shí)際開發(fā):flask和nginx如何配置支持websocket

    flask實(shí)際開發(fā):flask和nginx如何配置支持websocket

    1、點(diǎn)擊Edit Confiturations 2、配置啟動(dòng)方式 1 新增啟動(dòng)配置 2 選擇使用python命令執(zhí)行 3 給配置設(shè)置一個(gè)名字 4 設(shè)置要啟動(dòng)的模塊的位置,flask基本都是app.py 模塊 最后別忘記:點(diǎn)擊右側(cè)的apply 依賴包: pip install gevent-websocket==0.10.1 pip install gevent==21.1.2 pip install flask==1.1.2 1、配置方式

    2024年02月09日
    瀏覽(20)
  • Nginx服務(wù)、Vite項(xiàng)目如何設(shè)置ws(websocket)代理?

    最近干活中遇到請(qǐng)求訪問地址代理的問題,http請(qǐng)求代理到是沒啥問題,主要是WebSocket代理配置,今天折騰了一上午加下午一小時(shí),才將其配置好,主要是部署服務(wù)器的時(shí)候nginx這一塊不太清楚,作為一個(gè)初級(jí)前端,確實(shí)還有待提高。本文主要細(xì)致的講解一下ws代理如何設(shè)置,

    2024年01月25日
    瀏覽(28)
  • nginx請(qǐng)求轉(zhuǎn)發(fā)webSocket

    nginx請(qǐng)求轉(zhuǎn)發(fā)webSocket

    原由 1.我有一個(gè)socket服務(wù),用ip訪問是成功的,但是老板說用這個(gè)不行,要用nginx請(qǐng)求轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)內(nèi)網(wǎng)地址到某個(gè)域名 2.但是我改成了指定域名后失敗, 因?yàn)槲覜]有配置 nginx.conf? http的很簡(jiǎn)單 ,如下(--- 可跳過 ---) server { ? ? listen 80; ? ? server_name *.mynetwork.cn mynetwork.cn; ?? ?

    2024年02月01日
    瀏覽(18)
  • 【Nginx筆記02】通過Nginx服務(wù)器轉(zhuǎn)發(fā)客戶端的WebSocket接口到后端服務(wù)

    【Nginx筆記02】通過Nginx服務(wù)器轉(zhuǎn)發(fā)客戶端的WebSocket接口到后端服務(wù)

    這篇文章,主要介紹如何通過Nginx服務(wù)器轉(zhuǎn)發(fā)客戶端的WebSocket接口到后端服務(wù)【知識(shí)星球】。 目錄 一、Nginx配置WebSocket 1.1、Nginx配置內(nèi)容 1.2、客戶端請(qǐng)求地址 1.3、創(chuàng)建WebSocket測(cè)試工程 1.4、啟動(dòng)測(cè)試 1.5、WebSocket超時(shí)問題 1.5.1、設(shè)置超時(shí)時(shí)間 1.5.2、建立心跳機(jī)制(推薦) 今天

    2024年04月11日
    瀏覽(23)
  • Nginx配置WS代理

    本文背景如下: Vue+SpringBoot 前后端分離,vue采用Nginx作為服務(wù),涉及內(nèi)外網(wǎng)使用的場(chǎng)景。 技術(shù)使用:Stomp 和 rabbitMQ Nginx增加如下配置: VUE前端配置(注意https和http的區(qū)別):

    2024年02月11日
    瀏覽(16)
  • Linux下nginx添加stream模塊支持Tcp轉(zhuǎn)發(fā)

    方式1 yum直接安裝 安裝nginx 安裝模塊 添加轉(zhuǎn)發(fā)配置 /etc/nginx/nginx.conf底部添加 運(yùn)行測(cè)試 方式2 源碼編譯 一、安裝編譯工具 二、安裝PCRE PCRE (Perl Compatible Regular Expressions) 是一個(gè)用于處理正則表達(dá)式的庫,它是一個(gè)C語言的庫,可以在多種編程語言中使用。PCRE庫提供了一套API來編

    2024年04月28日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包