Je travaille avec la configuration du projet Django avec Nginx et Gunicorn.
Pendant que j'accède à mon port gunicorn mysite.wsgi:application --bind=127.0.0.1:8001
sur le serveur Nginx, j'obtiens l'erreur suivante dans mon fichier journal d'erreurs;
2014/05/30 11:59:42 [crit] 4075 # 0: * 6 échec de la connexion () à 127.0.0.1:8001 (13: autorisation refusée) lors de la connexion en amont, client: 127.0.0.1, serveur: localhost, demande: "GET / HTTP / 1.1", en amont
"http://127.0.0.1:8001/"
:, hôte: "localhost: 8080"
Voici le contenu de mon nginx.conf
dossier;
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;
}
}
Dans la page HTML que je reçois 502 Bad Gateway
.
Quelle erreur est-ce que je fais?
la source
yum install policycoreutils-python
afin d'obtenir d'audit2allow
abord. Référence: centos.org/forums/viewtopic.php?t=5012policycoreutils-python
n'a pas fourni la commandeaudit2allow
. Après quelques recherches, j'ai découvert que vous devriez installer le paquet develyum install policycoreutils-devel
. Référence: danwalsh.livejournal.com/61710.htmlJ'ai aussi rencontré ce problème. Une autre solution consiste à basculer la valeur booléenne SELinux pour la connexion réseau httpd
on
(Nginx utilise l'étiquette httpd).Pour que la modification persiste, utilisez l'indicateur -P.
Vous pouvez voir une liste de tous les booléens SELinux disponibles pour httpd en utilisant
la source
J'ai eu un problème similaire sur Centos 7. Lorsque j'ai essayé d'appliquer la solution prescrite par Sorin, j'ai commencé à bouger par cycles. J'ai d'abord eu une autorisation {écriture} refusée. Puis quand j'ai résolu que j'avais une autorisation {connectto} refusée. Revenez ensuite à la permission {écriture} refusée.
Après la réponse @Sid ci-dessus de vérifier les drapeaux en les utilisant
getsebool -a | grep httpd
et de les basculer, j'ai constaté qu'en plus de la connexion httpd_can_network_connect désactivée. http_anon_write était également désactivé, ce qui a entraîné une autorisation refusée en écriture et une autorisation refusée {connectto}Obtenu en utilisant sudo cat /var/log/audit/audit.log | grep nginx | grep nié comme expliqué ci-dessus.
Je les ai donc résolus un à la fois, en activant les drapeaux l'un après l'autre.
Ensuite, exécutez les commandes spécifiées par @sorin et @Joseph ci-dessus
Fondamentalement, vous pouvez vérifier les autorisations définies sur setsebool et les corréler avec l'erreur obtenue à partir de grepp'ing 'audit.log nginx, refusée
la source
J'ai résolu mon problème en exécutant mon Nginx en tant qu'utilisateur avec lequel je suis actuellement connecté, mulagala .
Par défaut, l'utilisateur en tant que nginx est défini dans la partie supérieure du
nginx.conf
fichier, comme illustré ci-dessous;Remplacez nginx par le nom de votre utilisateur actuel - ici, mulagala .
Cependant, cela peut ne pas résoudre le problème réel et peut avoir des effets secondaires occasionnels.
Pour une solution efficace, veuillez vous référer à la solution de Joseph Barbere .
la source
si l'erreur "502 Bad Gateway" déclenche l'url de l'api centos pour le passage du proxy de la passerelle api sur nginx, exécutez la commande suivante pour résoudre le problème
la source
13-permission-refusée-lors-de-la-connexion-upstreamnginx sur le serveur centos -
setsebool -P httpd_can_network_connect 1
la source
J'ai aussi rencontré ce problème. J'utilise Nginx avec HHVM, la solution ci-dessous a résolu mon problème:
la source
/etc/nginx/nginx.conf
Maintenant, voyez la magie.
la source
Merci beaucoup. J'ai appliqué ce guide sur: Centos 7, AspNet Core 3.1, configuration Nginx.
la source
Merci à tous pour les réponses. La réponse de Kumar le 21 août 19 à 12:14 m'a donné un répit après quelques jours de dépannage du problème que j'avais, à savoir:
La solution que j'ai appliquée était la suivante:
la source
la source