org.apache.catalina.connector.ClientAbortException


记个tomcat常见流输出中断异常
org.apache.catalina.connector.ClientAbortException: java.net.SocketException: Connection reset
出现此异常常见原因是页面刷新后,数据还未返回完整,客户端就中断了连接

今天我把一个服务器的tomcat迁移到另一台机器后,使用的nginx做负载,每次导出excel都会出现这个异常
后来直接通过tomcat端口访问,不经过nginx是可以正常导出的,所以判断问题出在nginx配置
对比了下新旧nginx配置

新的

server {
    listen       80 ;
    server_name  xxx.cn;
    index /index.jsp;
    location /static/success.htm{
        root html;
    }
    location /{
        proxy_pass    http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    error_page 500 502 503 504 /50x.html;

    access_log  /var/log/nginx/access/service/log.log;
}

老的

server {
    listen       80 ;
    server_name  xxx.cn;
    index /index.jsp;
    location /static/success.htm{
        root html;
    }
    location /{
        proxy_pass    http://localhost:7080;
        proxy_set_header Host $host:80;
    }

    error_page 500 502 503 504 /50x.html;

    access_log  /alidata/log/nginx/access/service/trade-pre-log.log;
}

经过对比,发现区别主要是在proxy_set_header的配置不同
把proxy_set_header配置改成proxy_set_header Host $host:80; 或者 proxy_set_header
Host $http_host; 后,正常导出


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM