Nginx client closed connection while waiting for request

Nginx client closed connection while waiting for request

2021/02/16 11:38:13 [info] 
7#7: *1 client closed connection while waiting for request, client: 172.23.0.1, server: 0.0.0.0:80
Esta es la llamada al contenedor webserver (nginx:1.17.8) desde mi maquina host (172.23.0.1)

2021/02/16 11:40:53 [error] 
7#7: *2 recv() failed (104: Connection reset by peer) while reading response header from upstream, 
client: 172.23.0.1, server:, request: "GET /api/v1.0/azure/vm HTTP/1.1",
upstream: "fastcgi://172.23.0.2:9000", host: "localhost:8765"
Esta llamada al contenedor app (php:7.2.6-fpm - FastCGI Process Manager) desde el contenedor
nginx y al parecer hay un error de envio de datos al FPM

recv() failed (Connection reset by peer) while reading response header from upstream

Trabajando en un entorno de desarrollo con Mariadb y PHP en contenedores según este docker-compose.yml

services: app: # contenedor con: php:7.2.6-fpm dev: # contenedor con: php:7.2.16-cli webserver: # contenedor con: nginx:1.17.8 database: #contenedor con 10.3.7-MariaDB-1:10.3.7+maria~jessie

Sucede que en algunas peticiones con un tiempo de respuesta superior a un minuto. Nginx me devuelve un 502. Revisando los logs del contenedor webserver se visualiza lo que está en la imagen. Al parecer esto sucede por un error de conexión entre los contenedores webserver y app.
Deduzco que en el contenedor app (que es el fpm) una vez procesada la petición que toma un tiempo considerable intenta comunicar el resultado al Nginx con unas cabeceras que el servidor web no es capaz de interpretar.

Para solucionar esto hay que reiniciar el contenedor FPM

docker restart app

Resultado despues de reiniciar


Aquí (en la imagen anterior) se visualiza que Nginx ha recibido las cabeceras y el payload correctamente. Antes de enviarlo al cliente (mi navegador) almacena esa respuesta en un fichero temporal.

Para revisar los logs de un contenedor hay que ejecutar: docker logs nombre-del-contenedor

Autor: Eduardo A. F.
Publicado: 28-02-2021 19:31