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(),再次测试,发现可以正常获取返回信息。

  • 相关阅读:
    盒子的display属性
    html标签默认属性值之margin;padding值
    JS事件
    表单序列化
    2016年最后一天——前端心语
    原生JS--COOKIE
    原生JS--Ajax
    DOM,BOM
    JS面向对象
    RegExp类型,单体内置对象
  • 原文地址:https://www.cnblogs.com/jimmyfan/p/14339488.html
Copyright © 2011-2022 走看看