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

nginx代理websocket無法鏈接到服務(wù),服務(wù)端報錯:Handshake failed due to invalid Upgrade header: null

這篇具有很好參考價值的文章主要介紹了nginx代理websocket無法鏈接到服務(wù),服務(wù)端報錯:Handshake failed due to invalid Upgrade header: null。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


一、場景

1、使用nginx代理websocket

2、websocket無法成功連接到服務(wù)端

3、服務(wù)端報錯

4、nginx日志正常,沒有發(fā)現(xiàn)與該websocket地址有關(guān)的報錯


二、問題表現(xiàn)

1、前端表現(xiàn)如下

websocket nginx 代理無法連接,Nginx,Java開發(fā)問題,nginx,websocket


三、排查

1、協(xié)議是否使用有誤,從上面的截圖可以看出,websocket使用的是wss,那么nginx代理時,使用的協(xié)議是否是https

檢查結(jié)果:nginx代理時使用的協(xié)議是https,這里就不把ssl相關(guān)配置貼出來了


2、檢查改地址是否能正常訪問

websocket nginx 代理無法連接,Nginx,Java開發(fā)問題,nginx,websocket

因為只是為了確認(rèn)地址是否訪問正常,這里將wss替換為https

檢查結(jié)果:可以正常訪問


3、查看nginx日志是否存在異常信息

打開nginx日志文件,搜索有問題的代理地址,查看響應(yīng)碼

websocket nginx 代理無法連接,Nginx,Java開發(fā)問題,nginx,websocket

檢查結(jié)果:沒有發(fā)現(xiàn)與該websocket地址有關(guān)的異常日志


4、查看服務(wù)端日志是否存在異常信息

確實存在異常信息

Line 2234: 2023-10-20 09:45:24.524 - [ERROR] - [http-nio-8083-exec-5] - [o.s.w.s.server.support.DefaultHandshakeHandler - line:296]: Handshake failed due to invalid Upgrade header: null
Line 2237: 2023-10-20 09:45:55.066 - [ERROR] - [http-nio-8083-exec-9] - [o.s.w.s.server.support.DefaultHandshakeHandler - line:296]: Handshake failed due to invalid Upgrade header: null
Line 2239: 2023-10-20 09:46:15.357 - [ERROR] - [http-nio-8083-exec-6] - [o.s.w.s.server.support.DefaultHandshakeHandler - line:296]: Handshake failed due to invalid Upgrade header: null
Line 2277: 2023-10-20 09:47:02.509 - [ERROR] - [http-nio-8083-exec-10] - [o.s.w.s.server.support.DefaultHandshakeHandler - line:296]: Handshake failed due to invalid Upgrade header: null
Line 2284: 2023-10-20 09:48:12.092 - [ERROR] - [http-nio-8083-exec-8] - [o.s.w.s.server.support.DefaultHandshakeHandler - line:296]: Handshake failed due to invalid Upgrade header: null
Line 2291: 2023-10-20 09:49:22.683 - [ERROR] - [http-nio-8083-exec-3] - [o.s.w.s.server.support.DefaultHandshakeHandler - line:296]: Handshake failed due to invalid Upgrade header: null

檢查結(jié)果:websocket的鏈接請求確實到達(dá)了服務(wù)端,但因為某些原因無法建立連接

報錯信息“Handshake failed due to invalid Upgrade header: null”翻譯后是“由于無效的升級頭,握手失敗

可以看出,異常還是出在nginx


5、檢查nginx配置

發(fā)現(xiàn)nginx代理配置少了一行

location /FS_WEB_ASS {
    proxy_pass http://192.168.1.133:8083/FS_WEB_ASS;

    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-NginX-Proxy true;
    proxy_set_header Host $http_host;
    
    # 少了下面這行配置,加上后問題得到解決
	proxy_set_header Origin "";
	
    proxy_read_timeout 86400s;
    proxy_send_timeout 60s;
    proxy_connect_timeout 60s;
}

四、原因

nginx代理配置缺少以下配置文章來源地址http://www.zghlxwxcb.cn/news/detail-784289.html

proxy_set_header Origin "";

到了這里,關(guān)于nginx代理websocket無法鏈接到服務(wù),服務(wù)端報錯:Handshake failed due to invalid Upgrade header: null的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • NGINX SSL_do_handshake() failed 報錯處理

    nginx 添加配置如下: 解決的錯誤如下: ** SSL_do_handshake() failed (SSL: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:SSL alert number 40) while SSL handshaking to upstream **

    2024年02月15日
    瀏覽(19)
  • websocket 線上環(huán)境報錯:Handshake failed due to invalid Upgrade header: null

    一、問題描述: 公司有個項目用到了websocket,在本地環(huán)境測試沒有問題,因為公司后臺websocket是微服務(wù)搭建,我們需要nginx進(jìn)行一層代理,結(jié)果出現(xiàn)如下錯誤 Handshake failed due to invalid Upgrade header: null 二、問題解決 1、首先找到自己nginx的配置文件—配置下面代碼 —— nginx重啟

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

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

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

    2024年02月13日
    瀏覽(36)
  • Nginx 配置 WebSocket 代理

    Nginx 官方文檔網(wǎng)址 nginx documentation 官方文檔代理樣例 [!起因] 我使用指令 whereis nginx 跳出來了很多路徑,但是我不太明白每個路徑是什么意思,就仔細(xì)去看了看,然后發(fā)現(xiàn)了一個路徑 /usr/share/man/man8/ 這個目錄,下面一般都是手冊路徑,在這里面可以看很多軟件的基本指令操作

    2024年04月22日
    瀏覽(24)
  • Nginx代理WebSocket方法

    微信公眾號:運(yùn)維開發(fā)故事,作者:姜總 大家好,我是小姜。 前一篇文章講了一下什么是WebSocket協(xié)議,這里在回顧一下,并且聊一聊如何用nginx來代理WebSocket。 WebSocket是HTML5下一種新的協(xié)議。它實現(xiàn)了瀏覽器與服務(wù)器全雙工通信,能更好的節(jié)省服務(wù)器資源和帶寬并達(dá)到實時通

    2024年02月07日
    瀏覽(16)
  • nginx代理WebSocket配置

    proxy_http_version 設(shè)置代理到upstream的http協(xié)議版本,必須設(shè)置;默認(rèn)可能會采用http/1.0,會導(dǎo)致協(xié)議升級切換失敗。 Proxy header Upgrade Connection 使nginx將協(xié)議切換到WebSocket,必須明確定義、或判斷客戶端是否需要升級協(xié)議并向upstream傳遞該值。 proxy_read_timeout 定義從代理服務(wù)器讀取響

    2024年02月16日
    瀏覽(23)
  • 配置Nginx作為WebSocket代理

    簡介 本教學(xué)文章將指導(dǎo)您如何配置Nginx作為WebSocket代理,以實現(xiàn)WebSocket連接的代理和實時雙向通信。WebSocket是一種支持實時雙向通信的協(xié)議,常用于實時聊天、通知推送等場景。通過配置Nginx作為WebSocket代理,可以將WebSocket連接轉(zhuǎn)發(fā)到后端服務(wù)器,并實現(xiàn)高性能和可靠的實時

    2024年02月13日
    瀏覽(53)
  • Nginx配置WebSocket反向代理

    Nginx配置WebSocket反向代理

    ? WebSocket協(xié)議相比較于HTTP協(xié)議成功握手后可以多次進(jìn)行通訊,直到連接被關(guān)閉。但是WebSocket中的握手和HTTP中的握手兼容,它使用HTTP中的Upgrade協(xié)議頭將連接從HTTP升級到WebSocket。這使得WebSocket程序可以更容易的使用現(xiàn)已存在的基礎(chǔ)設(shè)施。 $ vim /usr/local/nginx/conf/nginx.conf (nginx配置

    2024年02月07日
    瀏覽(17)
  • nginx代理websocket相關(guān)配置

    map $http_upgrade $connection_upgrade { ? ? ? ? default upgrade; ? ? ? ? \\\'\\\' close; } # 轉(zhuǎn)發(fā)ws location ^~ /ws { ? ? ? ?# 后臺準(zhǔn)備的websocket地址端口 ? ? ? ?proxy_pass http://localhost:9092; ? ? ? ?# 其他參數(shù)都一樣 ? ? ? ?proxy_read_timeout 300s; ? ? ? ?proxy_send_timeout 300s; ? ? ? ?proxy_set_header ?Host $

    2024年02月13日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包