Herramientas

Solucionar el error “(13: Permission denied) while connecting to upstream” al usar Nginx con RHEL o CentOS

Recientemente he usado un proxy inverso creado con Nginx en RHEL para mejorar la seguridad de una aplicación web creada con Express. Pero, una vez creado el proxy inverso, en lugar de acceder a la aplicación aparecía una página con un error 502 Bad Gateway. En este caso se puede revisar el log de Nginx para intentar describir cual es el problema, lo que se puede hacer con el siguiente comando

sudo tail -f /var/log/nginx/error.log

Observando que cada vez que se realizaba una petición al proxy aparecía un mensaje de error (13: Permission denied) while connecting to upstream”. Lo que tiene que ver con la configuración por defecto de SELinux en RHEL/CentOS.

La solución de este problema es en realidad sencilla, solamente se tiene que cambiar el valor de la propiedad httpd_can_network_connect a 1. Permitiendo que el servidor web Nginx se comunique correctamente con las aplicaciones y servicios. El comando para cambiar el valor de este parámetro es

/usr/sbin/setsebool httpd_can_network_connect 1

Ahora se puede reiniciar Nginx y comprobar que este era el único error y ahora la redirección funciona correctamente. Lo que se puede conseguir reiniciando el servicio.

sudo systemctl restart nginx

Si ahora todo funciona de forma correcta, hay que hacer el cambio de la propiedad permanente, en caso contrario el error volverá al reiniciar el servidor. Para esto se tiene que volver a ejecutar el comando setsebool con la opción -P.

/usr/sbin/setsebool -P httpd_can_network_connect 1

Con lo que ya se ha resuelto el error “(13: Permission denied) while connecting to upstream” de forma definitiva.

Imagen de Gerd Altmann en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Data Lake y Data Warehouse: diferencias, usos y cómo se complementan en la era del dato

En la era del dato, las organizaciones se enfrentan al reto de gestionar volúmenes masivos…

2 días ago

Documentar tu API de Express con TypeScript usando OpenAPI (Swagger)

En la serie Creación de una API REST con Express y TypeScript construimos una API…

4 días ago

Curiosidad: El sesgo de supervivencia, o por qué prestar atención sólo a los que “llegaron” puede engañarte

Durante la Segunda Guerra Mundial, la Fuerza Aérea de Estados Unidos quería reforzar sus aviones…

1 semana ago

Cómo abrir una ventana de Chrome con tamaño y posición específicos desde la línea de comandos en Windows

En muchas situaciones —ya sea para grabar un tutorial, tomar capturas de pantalla profesionales, probar…

2 semanas ago

La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento

Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…

2 semanas ago

Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)

En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…

3 semanas ago

This website uses cookies.