Vue配合SpringCloud打包發布后,接口報net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)


Vue配合SpringCloud打包發布后,接口報net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

背景

項目架構為Vue + SpringCloud,發布測試環境,頁面用nginx代理,並轉發ajax請求到SpringCloud gateway。

登陸接口在gateway中實現,gateway采用webflux,安全認證為SpringSecurity。

現象

登陸失敗的時候,一直沒辦法拿到后台的報錯信息,但是本地開發環境沒有這個問題。另外其他接口均沒有這個問題。

分析處理

一開始以為是因為后台返回的http狀態碼為500導致的,修改為200后還是不行。然后才注意到控制台的報錯。

net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

看這意思是數據沒接收完整。

查看nginx日志,報錯如下:

upstream prematurely closed connection while reading upstream

查找資料,顯示“上游服務器提前斷開鏈接”,感覺問題出在gateway上。

查看gateway日志,有如下報錯

The nextFactory returned a null Publisher

查找資料,別人說是filter中返回null導致,檢查代碼,發現是ServerAuthenticationFailureHandleronAuthenticationFailure方法返回null,對比ServerAuthenticationSuccessHandleronAuthenticationSuccess方法返回的是Mono.empty()

修改返回為Mono.empty(),再次測試,發現可以正常獲取返回信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM