NGINX : Différence entre versions

De SLM - MediaWiki
Ligne 1 : Ligne 1 :
 
NGINX est un serveur web performant, la hierarchie des fichiers de configuration est la suivante :
 
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/
+
==Emplacement des fichiers==
*les fichiers de configurations des sites se trouvent dans :
+
les fichiers de configurations se trouvent généralement dans /etc/nginx/
:*/etc/nginx/sites-enabled/
 
:*/etc/nginx/sites-available/
 
  
=== Avantages : ===
+
les fichiers de configurations des sites se trouvent dans :
 +
*/etc/nginx/sites-enabled/
 +
*/etc/nginx/sites-available/
  
 +
== Avantages : ==
 
*performant
 
*performant
 
*faible consommation de ressources, léger
 
*faible consommation de ressources, léger
Ligne 13 : Ligne 14 :
 
*idéal en tant que proxy inverse ou pour de l'équlibrage de charges
 
*idéal en tant que proxy inverse ou pour de l'équlibrage de charges
 
*options et extensions disponible en masse
 
*options et extensions disponible en masse
=== Inconvénients : ===
+
== 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)
 
*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)
Ligne 84 : Ligne 85 :
 
== 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.

Version du 29 mars 2020 à 10:21

NGINX est un serveur web performant, la hierarchie des fichiers de configuration est la suivante :

Emplacement des fichiers

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/

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;