zoukankan      html  css  js  c++  java
  • 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(),再次测试,发现可以正常获取返回信息。

  • 相关阅读:
    关于异常处理解决
    多态
    类的继承和接口
    关于数组的应用知识
    String类型的字符串的知识点
    关于类的一些思想
    一些小程序的代码
    关于Java的一些基础了解
    将string类型的数字参数求和的小程序
    【【洛谷P2678 跳石头】——%%%ShawnZhou大佬】
  • 原文地址:https://www.cnblogs.com/jimmyfan/p/14339488.html
Copyright © 2011-2022 走看看