nginx做反向代理,下载大文件时出现err_connection_reset错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx做反向代理,下载大文件时出现err_connection_reset错误相关的知识,希望对你有一定的参考价值。

参考技术A 查看error.log 显示的是 Upstream prematurely closed connection while reading upstream... 错误

在nginc.conf文件中http段添加如下两行配置:

nginx反向代理报错400

当用nginx做负载均衡的时候,nginx的配置文件如下:

    upstream server_pools {
         server 10.0.0.7:80  weight=1;
         server 10.0.0.8:80  weight=1;

当客户端访问时出现报错如下:

[[email protected] ~]# curl  www.hahaetiantian.org
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<p>Additionally, a 400 Bad Request
error was encountered while trying to use an ErrorDocument to handle the request.</p>
</body></html>
[[email protected] ~]# curl  www.hahaetiantian.org
www

查看日志报错并不能找到原因,但是根据400报错以及对http协议的原理了解得知是因为请求头的原因,最后在网上找到解决办法,原因是因为upstream后面的名称有下划线使得代理无法识别,修改如下:

    upstream server-pools {
         server 10.0.0.7:80  weight=1;
         server 10.0.0.8:80  weight=1;

然后再次访问结果如下:

[[email protected] ~]# curl  www.etiantian.org
apache www
[[email protected] ~]# curl  www.etiantian.org
www

以上是关于nginx做反向代理,下载大文件时出现err_connection_reset错误的主要内容,如果未能解决你的问题,请参考以下文章

使用SSL配置nginx反向代理时出现400错误请求错误。

nginx反向代理报错400

nginx反向代理下载文件失败处理

在反向代理后面使用 SP 时出现 Spring saml 问题

完美解决Nginx配置反向代理时出现的13: Permission denied) while connecting to upstream, client: 127.0.0.1

nginx一篇文章就够了,下载到使用正反向代理命令配置超全