页面请求接口小数据量时没有问题,当返回数据量大时,报错。
1.这个报错看网上,主要三种:
1.当访问某个服务突然服务器挂了,就会产生Broken pipe;
2.客户端读取超时关闭了连接,这时服务器往客户端再写数据就发生了broken pipe异常!
3.端口冲突,地址已被使用,也会导致Broken pipe
针对2修改了,也没有起作用:
ribbon: ReadTimeout: 100000 #链接超时时长 ConnectTimeout: 100000 #读取超时时长 MaxAutoRetries: 0 #同一台服务实例重试次数,不包括首次调用 MaxAutoRetriesNextServer: 1 #重试负载均衡其他的服务实例最大重试次数,不包括首次调用 OkToRetryOnAllOperations: false # 是否所有操作都重试
2.查看前端页面报错,发现如下异常:net::ERR_INCOMPLETE_CHUNKED_ENCODING 200
具体原因是,nginx配置的缓存区过小,增加即可:
修改nginx.conf 文件,在 http - server - location /prod-api/ 中添加以下标红的配置,重启nginx即可:
location /prod-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/;
# 增加反向代理缓存
proxy_buffer_size 1024k;
proxy_buffers 16 1024k;
proxy_busy_buffers_size 2048k;
proxy_temp_file_write_size 2048k;
}