NGINX : Différence entre versions
De SLM - MediaWiki
(Created page with "NGINX est un serveur web performant, la hierarchie des fichiers de configuration est la suivante : *les fichiers de configurations se trouvent généralement dans /etc/nginx/...") |
|||
Ligne 51 : | Ligne 51 : | ||
== Test des fichiers de configuration == | == Test des fichiers de configuration == | ||
− | + | nginx -t | |
− | nginx -t | ||
== Reload. des fichiers de configuration == | == Reload. des fichiers de configuration == | ||
− | + | nginx -s reload | |
− | nginx -s reload | ||
== Redémarrage du service NGINX sous Debian == | == Redémarrage du service NGINX sous Debian == | ||
− | + | /etc/init.d/nginx restart | |
− | /etc/init.d/nginx restart | ||
ou | ou | ||
− | + | service nginx restart | |
− | |||
− | service nginx restart | ||
== Désactiver le service NGINX sous Debian == | == Désactiver le service NGINX sous Debian == | ||
− | + | update-rc.d nginx disable | |
− | update-rc.d nginx disable | ||
== Bloquer une IP == | == Bloquer une IP == | ||
Ligne 78 : | Ligne 72 : | ||
Dans une règle de type "location" : | Dans une règle de type "location" : | ||
− | + | deny x.x.x.x; | |
− | deny x.x.x.x; | ||
== Bloquer un nom d'hôte en retournant un code HTTP == | == Bloquer un nom d'hôte en retournant un code HTTP == | ||
Ligne 85 : | Ligne 78 : | ||
Dans un bloc (exemple avec le nom d'hôte "'''super.ae'''") : | Dans un bloc (exemple avec le nom d'hôte "'''super.ae'''") : | ||
− | |||
if ($http_host ~* (super.ae)) { | if ($http_host ~* (super.ae)) { | ||
return 444; | return 444; | ||
− | } | + | } |
== Retour du code 503 dans les cas de maintenance / interruption de service == | == Retour du code 503 dans les cas de maintenance / interruption de service == | ||
− | + | Le code de réponse HTTP d'erreur serveur 503 Service Unavailable indique que le serveur n'est pas prêt à traiter la requête. | |
− | Le code de réponse HTTP d'erreur serveur 503 Service Unavailable indique que le serveur n'est pas prêt à traiter la requête. | ||
La présence d'une réponse 503 permet d'indiquer aux moteurs de recherche de revenir plus tard, n'impactant pas le SEO. | La présence d'une réponse 503 permet d'indiquer aux moteurs de recherche de revenir plus tard, n'impactant pas le SEO. | ||
Ligne 99 : | Ligne 90 : | ||
Dans un bloc : | Dans un bloc : | ||
− | + | return 503; | |
− | return 503; |
Version du 29 mars 2020 à 10:18
NGINX est un serveur web performant, la hierarchie des fichiers de configuration est la suivante :
- les fichiers de configurations se trouvent généralement dans /etc/nginx/
- les fichiers de configurations des sites se trouvent dans :
- /etc/nginx/sites-enabled/
- /etc/nginx/sites-available/
Sommaire
- 1 Avantages :
- 2 Inconvénients :
- 3 NGINX en tant que proxy inverse
- 4 Test des fichiers de configuration
- 5 Reload. des fichiers de configuration
- 6 Redémarrage du service NGINX sous Debian
- 7 Désactiver le service NGINX sous Debian
- 8 Bloquer une IP
- 9 Bloquer un nom d'hôte en retournant un code HTTP
- 10 Retour du code 503 dans les cas de maintenance / interruption de service
Avantages :
- performant
- faible consommation de ressources, léger
- config. souple, language de configuration simple et accessible pour peu que l'on connaisse les REGEX pour tout ce qui est filtrage
- idéal en tant que proxy inverse ou pour de l'équlibrage de charges
- options et extensions disponible en masse
Inconvénients :
- ignore les .htaccess ce qui peut engendrer de la configuration supplémentaire pour les CMS/frameworks populaires facilitant Apache avec les .htaccess comme Joomla (par exemple si l'on veut activer la réecriture d'URLs)
- plus difficile à configurer dans certain cas contrairement à Apache (notamment pour les fonctionnalités avancées des CMS/frameworks populaires comme la réecriture d'URL)
NGINX en tant que proxy inverse
Exemple de configuration HTTPS (HTTP étant redirigé en HTTPS) pour un site ayant le domaine "monsite.com" :
server { listen 80; server_name monsite.com; # redirect to HTTPS rewrite ^ https://$server_name$request_uri? permanent; access_log /var/log/nginx/monsite.access_log; }
server { listen 443; server_name monsite.com; # simple SSL setup with self-signed certificates available on the turnkey nginx images (https://letsencrypt.org/ can be used to obtain a trusted free certificate) ssl on; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; # generic inverse proxy scheme to local VM http://10.0.1.113:80 with real ip forwarding location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # this line is only useful for HTTPS proxy_pass http://10.0.1.113:80; } access_log /var/log/nginx/monsite.access_log; error_log /var/log/nginx/monsite.error_log info; }
Test des fichiers de configuration
nginx -t
Reload. des fichiers de configuration
nginx -s reload
Redémarrage du service NGINX sous Debian
/etc/init.d/nginx restart
ou
service nginx restart
Désactiver le service NGINX sous Debian
update-rc.d nginx disable
Bloquer une IP
Dans une règle de type "location" :
deny x.x.x.x;
Bloquer un nom d'hôte en retournant un code HTTP
Dans un bloc (exemple avec le nom d'hôte "super.ae") :
if ($http_host ~* (super.ae)) { return 444; }
Retour du code 503 dans les cas de maintenance / interruption de service
Le code de réponse HTTP d'erreur serveur 503 Service Unavailable indique que le serveur n'est pas prêt à traiter la requête.
La présence d'une réponse 503 permet d'indiquer aux moteurs de recherche de revenir plus tard, n'impactant pas le SEO.
Dans un bloc :
return 503;