国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

nginx反向代理text協(xié)議時收不到數(shù)據(jù)

caifu_yang

問題描述

后端用workerman(GatewayWorker)分別建立了一個ws和text協(xié)議的即時通訊服務(wù),不用NGINX轉(zhuǎn)發(fā)、直接使用IP訪問時,ws協(xié)議和text協(xié)議均能正常和客戶端通信;使用NGINX反向代理時,ws協(xié)議能正常和客戶端通信,但text協(xié)議和客戶端始終無法通信,客戶端始終收不到數(shù)據(jù)。

程序代碼或配置

nginx反向代理配置代碼:
location /
{
    proxy_pass http://192.168.*.*:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;

    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_cache_bypass $http_upgrade;
}
說明:nginx反向代理ws也是上面通用代碼,只是端口不同。

操作系統(tǒng)環(huán)境及workerman/webman等具體版本

操作系統(tǒng):centos7
Workerman version:4.0.27

拜托哪位大神幫忙解釋下是怎么回事,調(diào)試了很久了,急!

253 1 0
1個回答

北月妖王

text 協(xié)議是基于 TCP 的純文本協(xié)議,它沒有像 HTTPWebSocket 那樣在應(yīng)用層封裝額外的協(xié)議頭或幀結(jié)構(gòu)。因此,Nginx 無法通過 http 塊來處理這種協(xié)議,而是需要通過 stream 塊來直接代理原始的 TCP 流量。也就是說這部分配置需要寫到 stream 塊里面。

stream {
    upstream wk_text_server {
        server 127.0.0.1:1234;
    }
    server {
        listen 2030;
        proxy_pass wk_text_server;
        proxy_timeout 300s;
        proxy_connect_timeout 5s;
    }
}
  • caifu_yang 2025-02-28

    實測可用,問題已解決,非常感謝??!

??