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