Add: articles nginx

master
HUC Stéphane 2020-08-22 17:53:02 +02:00
parent f7ce5fc935
commit 13cd6ddb88
Signed by: hucste
GPG Key ID: C4ED64222D9B037F
4 changed files with 119 additions and 12 deletions

View File

@ -0,0 +1,41 @@
---
title: "Nginx : Erreur 403 Forbidden"
date: 2020-08-22T16:45:32+02:00
description: "Comment résoudre l'erreur 403 - Error 403: Forbidden - pour nginx"
draft: false
tags: ["nginx", "Erreur", "403", "astuce"]
---
## Description
Il peut y avoir plusieurs raisons pour laquelle nginx affiche une erreur 403.
Le serveur comprend la requête mais refuse de répondre au client web.
Les raisons :
1. Une mauvaise configuration du chemin vers le fichier de configuration
du contexte server.
2. Un problème de droits sur le système de fichiers de la racine web, généralement
`/var/www/`.
Par exemple, quelques lignes de log d'erreur :
`2020/08/22 10:50:18 [error] 77863#0: *2 directory index of "/htdocs/" is forbidden, (…)` <br>
`2020/08/22 10:52:21 [error] 890#0: *1 open() "/htdocs/robots.txt" failed (2: No such file or directory), (…)` <br>
**Vérifiez :**
1. Les écritures des chemins web. Exemple dans le fichier de configuration
principal de nginx, les `include` vers `sites-enabled` sont ils corrects ? <br>
Il suffit d'une erreur de typographie…
2. La racine web doit avoir, normalement pour droits utilisateurs, les noms
utilisateur et groupe web… `www-data:www-data`, ou `www:www` <br>
*sauf cas particulier, tel sous OpenBSD `root:daemon`* <br>
3. Les droits systèmes devraient être de type `0755`.
Une fois la situation rétablie, redémarrer/recharger nginx.
---

View File

@ -1,24 +1,24 @@
---
title: "Nginx : Erreur 404 ; failed (13: Permission denied)"
date: 2017-07-27T07:11:48+02:00
description: "Comment résoudre l'erreur 404 - error404 - liée à des problèmes de droits sur répertoires et fichiers pour nginx"
description: "Comment résoudre l'erreur 404 - Error 404 - liée à des problèmes de droits sur répertoires et fichiers pour nginx"
draft: false
tags: ["nginx", "Erreur", "404", "astuce"]
---
## Description
Quand les logs du server web nginx vous avertissent de ce message :
Vous avez un message **Error 404**, sur une des pages visitées.
`2016/02/13 11:35:52 [crit] 995#0: *48 open() "/srv/www/site.web/www/" failed (13: Permission denied), client: 192.168.7.4, server: site.web, request: "GET / HTTP/1.1", host: "site.web"`
Et les logs du server web nginx vous avertissent de ce message :
cela génère une fameuse "<span lang="en">Error 404</span>" !
`2016/02/13 11:35:52 [crit] 995#0: *48 open() "/srv/www/site.web/www/" failed (13: Permission denied), (…)`
**Modifiez les droits en écriture à la racine de votre site !**
Par exemple :
`chmod 0705 /srv/www/site.web/www`
`# chmod 0705 /srv/www/site.web/www`
Même pas besoin de redémarrer nginx !

View File

@ -1,15 +1,23 @@
---
title: "Nginx : Erreur 502 Gateway"
title: "Nginx : Erreur 502 (Bad Gateway)"
date: 2017-07-23T22:39:58+02:00
description: "Comment résoudre cette erreur - error502 - de passerelle sous nginx"
description: "Comment résoudre cette erreur - Error 502: Bad Gateway - de passerelle sous nginx"
draft: false
tags: ["nginx", "Erreur", "502", "astuce"]
---
## Description
Vérifiez vos écritures dans vos fichiers de configuration nginx, celles
liées à php, voire php-fpm... qu'elles soient exactement pareilles !
Le serveur web nginx affiche une "belle page blanche" avec la mention
**Error 502: Bad Gateway** !
Vérifiez :
1. que le service php-fpm soit démarré ! <br> *C'est idiot, en soit,
mais si le service n'est pas démarré, la connexion avec le serveur ne
se fera pas, et provoquera l'erreur 502*.
2. vos écritures dans vos fichiers de configuration nginx, celles
liées à php, voire php-fpm… qu'elles soient exactement pareilles !
## Configuration
@ -24,7 +32,7 @@ Les fichiers de configuration sont :
{{< code "web-nginx-error502-config-location-php" nginx >}}
* vérifier aussi votre déclaration liée à la configuration `status`, si nécessaire...
* vérifier aussi votre déclaration liée à la configuration `status`, si nécessaire
{{< code "web-nginx-error502-config-location-status" nginx >}}
@ -43,10 +51,10 @@ Les fichiers de configuration sont :
Les déclarations `listen.owner` et `listen.group` sont impérativement liées
à l'utilisateur et au groupe du service nginx, généralement `www-data`. <br>
À changer, selon votre configuration...
À changer, selon votre configuration
---
Puis, redémarrez vos serveurs nginx, et php(x?)-fpm... les deux !
Puis, redémarrez vos serveurs nginx, et php(x?)-fpm les deux !
---

View File

@ -0,0 +1,58 @@
---
title: "Nginx : Erreur 504 Gateway Timeout"
date: 2020-08-22T17:18:25+02:00
description: "Comment résoudre cette erreur - Error 504: Gateway Timeout - de passerelle/proxy (PHP, FastCGI) sous nginx"
draft: false
tags: ["nginx", "Erreur", "504", "astuce"]
---
## Description
Le serveur web nginx affiche une "belle page blanche" avec la mention
**Error 504: Gateway timeout** !
Cette erreur indique que le serveur web nginx agit comme une passerelle et
ne peut délivrer le contenu. Le serveur ne peut traiter dans un temps
imparti la requête demandée, la connexion est alors fermée.
Il peut y avoir plusieurs raisons, un élément réseau défectueux, mais aussi
un des paramètres suivants mal configurés :
Si vous utilisez PHP-FPM, vérifiez les écritures des directives :
* `fastcgi_*_timeout`
* `proxy_*_timeout`
* `send_timeout`
Par défaut, toutes ces directives sont de 60 secondes. <br>
Des valeurs, en temps de secondes, trop basses impactent le serveur nginx
et lui empêchent de délivrer la requête…
Exemple, augmentez dans votre contexte `http` :
`proxy_connect_timeout 600;` <br>
`proxy_read_timeout 600;` <br>
`proxy_send_timeout 600;` <br>
`send_timeout 600;` <br>
Et, concernant le contexte `location` lié à PHP, ajoutez, par exemple :
`fastcgi_connect_timeout 330;` <br>
`fastcgi_read_timeout 330;` <br>
`fastcgi_send_timeout 330;` <br>
Ceci étant fait, redémarrez le serveur !
---
## Documentations
* https://nginx.org/en/docs/http/ngx_http_core_module.html#send_timeout
* https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_connect_timeout
* https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_read_timeout
* https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_send_timeout
* https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout
* https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_read_timeout
* https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_send_timeout
---