Estoy trabajando con la configuración del proyecto Django con Nginx y Gunicorn.
Mientras accedo a mi puerto gunicorn mysite.wsgi:application --bind=127.0.0.1:8001
en el servidor Nginx, recibo el siguiente error en mi archivo de registro de errores;
30/05/2014 11:59:42 [crítico] 4075 # 0: * 6 connect () a 127.0.0.1:8001 falló (13: Permiso denegado) mientras se conectaba a upstream, cliente: 127.0.0.1, servidor: localhost, solicitud: "GET / HTTP / 1.1", ascendente:,
"http://127.0.0.1:8001/"
host: "localhost: 8080"
A continuación se muestra el contenido de mi nginx.conf
archivo;
server {
listen 8080;
server_name localhost;
access_log /var/log/nginx/example.log;
error_log /var/log/nginx/example.error.log;
location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
}
}
En la página HTML que estoy recibiendo 502 Bad Gateway
.
¿Qué error estoy haciendo?
fuente
yum install policycoreutils-python
llegaraudit2allow
primero. Referencia: centos.org/forums/viewtopic.php?t=5012policycoreutils-python
no proporcionó el comandoaudit2allow
. Después de investigar un poco, encontré que deberías instalar el paquete de desarrolloyum install policycoreutils-devel
. Referencia: danwalsh.livejournal.com/61710.htmlTambién me he encontrado con este problema. Otra solución es alternar el valor booleano SELinux para la conexión de red httpd
on
(Nginx usa la etiqueta httpd).Para que el cambio persista, use la bandera -P.
Puede ver una lista de todos los booleanos SELinux disponibles para httpd usando
fuente
Tuve un problema similar en Centos 7. Cuando intenté aplicar la solución prescrita por Sorin, comencé a moverme en ciclos. Primero tuve un permiso de {escritura} denegado. Luego, cuando resolví que tenía un permiso {connectto} denegado. Luego de nuevo a permiso {write} denegado.
Siguiendo la respuesta de @Sid arriba de verificar las banderas usando
getsebool -a | grep httpd
y alternando, encontré que además de httpd_can_network_connect está apagado. http_anon_write también estaba desactivado, lo que resultó en permiso denegado de escritura y permiso denegado {connectto}Obtenido usando sudo cat /var/log/audit/audit.log | grep nginx | grep denegado como se explicó anteriormente.
Así que los resolví uno a la vez, activando las banderas de una en una.
Luego ejecute los comandos especificados por @sorin y @Joseph arriba
Básicamente, puede verificar los permisos establecidos en setsebool y correlacionarlos con el error obtenido de grepp'ing 'audit.log nginx, denegado
fuente
He resuelto mi problema ejecutando mi Nginx como el usuario con el que estoy conectado actualmente, mulagala .
Por defecto, el usuario como nginx se define en la sección superior del
nginx.conf
archivo como se ve a continuación;Cambie nginx al nombre de su usuario actual, aquí, mulagala .
Sin embargo, esto puede no abordar el problema real y en realidad puede tener efectos secundarios casuales.
Para una solución efectiva, consulte la solución de Joseph Barbere .
fuente
si el error "502 Bad Gateway" aparece en la URL de la API de Centos para el paso proxy de la puerta de enlace de API en nginx, ejecute el siguiente comando para resolver el problema
fuente
13-permiso-denegado mientras se conecta a upstreamnginx en el servidor centos -
setsebool -P httpd_can_network_connect 1
fuente
También me he encontrado con este problema. Estoy usando Nginx con HHVM, la solución a continuación solucionó mi problema:
fuente
/etc/nginx/nginx.conf
Ahora mira la magia.
fuente
Muchas gracias. He aplicado esta guía en: Centos 7, AspNet Core 3.1, configuración de Nginx.
fuente
Gracias por todas las respuestas. La respuesta de Kumar el 21 de agosto de 19 a las 12:14 me dio un respiro después de unos días de solucionar el problema que tuve, es decir:
La solución que apliqué fue la siguiente:
fuente
fuente