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

Qué significa realmente “calidad de datos”

"Nuestros datos no tienen buena calidad." Escuchas esto constantemente en reuniones. El problema es que…

13 horas ago

Cómo Detectar Pseudo-IDs y Data Leakage en el Constructor de Scorecards

El artículo Data Leakage en Credit Scoring explicó por qué este es el error más…

3 días ago

Cómo Verificar la Normalidad de tus Datos antes de un Test Estadístico

Antes de aplicar muchos tests estadísticos clásicos (el t-test, el ANOVA, la regresión lineal) aparece…

1 semana ago

Docker Compose: el día a día. Cómo ver qué funciona y qué no

Si acabas de montar tu aplicación en Docker Compose, la primera pregunta que haces cada…

1 semana ago

Migrar tslane a un paquete dual CommonJS y ESM con tsup y Vitest

tslane es la plantilla que uso como punto de partida para mis librerías TypeScript, nacida…

2 semanas ago

Cómo construir tu primer scorecard paso a paso

En los artículos anteriores de esta serie vimos la teoría detrás del credit scoring: qué…

2 semanas ago

This website uses cookies.