zoukankan      html  css  js  c++  java
  • nginx 配合jersey+netty的奇怪问题

    角色

    client

    proxy nginx

    server jersey+netty

    问题表现

    client 直接请求server 正常,返回准确json数据 jsondat 

    client->nginx->server 经过nginx,则请求长时间阻塞,直到超时返回异常数据 "2000 {jsondata}"��" 

    头尾都异常

    问题原因

    正常情况 nginx->server 拿到数据,判断传输中止,则nginx->client把数据返回给客户端

    现状态

    nginx-server 拿到数据,但无法判断出数据已中止,一直拿着数据,直到超时,加上异常信息,传给client

    判断中止的条件,不外乎

    Content-Length/Chunked

    server和nginx配合有瑕疵,显然是nginx 对chunked处理有误。

    chunked总体是http1.1里的内容,这是nginx的缺陷,而nginx理应没有这个问题

    很大的可能是版本过低

    经确认

    服务器
    nginx version: nginx/1.0.15

    确认是nginx版本过低导致

    http://nginx.org/en/docs/faq/chunked_encoding_from_backend.html

    https://serverfault.com/questions/159313/enabling-nginx-chunked-transfer-encoding/187573#187573

    升级至1.12.0

    另nginx部分版本默认设置还是1.0,需要单独设置1.1

    问题解决

    nginx都支持http2.0了,公司的版本连1.1都支持!

  • 相关阅读:
    多色图标字体
    css编写规则BEM
    css处理工具PostCss
    vue2.0点击其他任何地方隐藏dom
    vue2.0多页面开发
    Dijkstra算法(邻接矩阵存储)
    kmp算法c++代码实现
    最小生成树(prim算法,Kruskal算法)c++实现
    字符串匹配的KMP算法(转)
    筛选法求素数
  • 原文地址:https://www.cnblogs.com/zihunqingxin/p/6879317.html
Copyright © 2011-2022 走看看