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

Por Qué las Contraseñas Largas son más Seguras que las Complejas

"Tu contraseña debe tener al menos 8 caracteres, una mayúscula, un número y un símbolo…

5 días ago

Gini, KS y AUC: Cómo Medir la Calidad de un Modelo de Credit Scoring

Cuando un analista de riesgo presenta un nuevo scorecard ante el comité de dirección, la…

7 días ago

Curiosidad: De dónde vienen foo, bar y foobar

Si revisáis código o documentación de otros programadores, tarde o temprano os toparéis con dos…

2 semanas ago

BG/NBD + Gamma/Gamma: el modelo probabilístico para CLV en compras continuas

Los dos artículos anteriores cubrieron el CLV clásico —una fórmula útil pero que trata a…

2 semanas ago

Errores habituales al trabajar con DataFrames grandes en Pandas (y cómo evitarlos)

Hay un momento muy concreto en la vida de casi todo análisis: el código que…

3 semanas ago

Champion vs Challenger: Cómo los Bancos Validan Modelos Nuevos antes de Ponerlos en Producción

Has construido un nuevo modelo de credit scoring. Las métricas de validación son mejores que…

3 semanas ago

This website uses cookies.