对等方重置连接-同时使用 nginx 和 php-fpm7.2 从上游读取响应标头
Posted
技术标签:
【中文标题】对等方重置连接-同时使用 nginx 和 php-fpm7.2 从上游读取响应标头【英文标题】:Connection reset by peer - while reading response header from upstream using nginx and php-fpm7.2 【发布时间】:2020-01-03 12:42:50 【问题描述】:以下是错误日志:
[error] 6518#6518: *1548 recv() 在从上游读取响应标头时失败(104:连接重置),客户端:106.51.134.160,服务器:example.com,请求:“POST /api/例如 HTTP/1.1”,上游:“fastcgi://unix:/run/php/php7.2-fpm.sock:”,主机:“example.com”
php7.2-fpm.log
[error] 6518#6518: *1548 recv() 在从上游读取响应标头时失败(104:连接重置),客户端:106.51.134.160,服务器:api.onsurity.com,请求:“POST / api/example HTTP/1.1”,上游:“fastcgi://unix:/run/php/php7.2-fpm.sock:”,主机:“example.com”
我在 nginx.conf 中增加了超时和大小
client_body_in_file_only clean;
client_body_buffer_size 32K;
client_max_body_size 200M;
sendfile on;
send_timeout 300s;
fastcgi_read_timeout 600s;
提到的另一种解决方案是增加 php.ini 中的请求超时和其他限制
upload_max_filesize=2000M
max_file_uploads=2000
memory_limit=128M
post_max_size=8000M
request_terminate_timeout = 300s
在点击包含 base64 图像数组的发布请求时显示 502 网关错误。大约。大小为 6MB
【问题讨论】:
【参考方案1】:如果您已在 Nginx 和 PHP-FPM 中完成所有建议的配置,并且您托管在 AWS 中,请尝试增加弹性负载均衡器的 空闲超时,通常默认为 60 秒。
更多信息在这里:https://aws.amazon.com/blogs/aws/elb-idle-timeout-control/
【讨论】:
以上是关于对等方重置连接-同时使用 nginx 和 php-fpm7.2 从上游读取响应标头的主要内容,如果未能解决你的问题,请参考以下文章
从上游读取响应头时,Nginx uwsgi(104:由对等方重置连接)
PHP 警告:socket_read():无法从套接字 [104] 读取:连接被对等方重置
http 403 错误 +“readv() 在读取上游时失败(104:对等方重置连接)”
javax.net.ssl.SSLException:SSL 握手中止连接由对等方重置,同时调用 web 服务 Android