Utiliser Nginx, config & tips

Classé dans : Linux, Programmation | 0

Voici un post rapide pour vous présenter un fichier de config Nginx minimaliste pour un démarrage rapide.

Peut être utile pour par exemple créer un container Docker (voir mes posts sur Docker)

Il existe de nombreuses autres options, voir le site officiel de Nginx.

Mise à jour le 25/05/23

server {
 ## config virtualhost
 listen 8080 ;
 error_log /var/log/error.log;
 access_log /var/log/acces.log ;
 root /var/www/monsite;
 server_name monsite.mondomaine.com;
 index index.php;
 autoindex on;
 
## routage vers index.php
 location / {
   try_files $uri $uri/ index.php$is_args$args; 
 }

 ## config fastcgi fpm (via fichier socket)
 location ~ \.php$ {
   include /etc/nginx/fastcgi_params;
   fastcgi_pass php7.0-fpm-sock;
   fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
 }
}

L’option error_log peut être complétée pour afficher plus d’informations en mode debug :

error_log /var/log/error.log debug;

Quelques commande utiles pour Nginx

nginx -t   /* controle la configuration */
nginx -s reload /* recharge la config sans restart du serveur */
service nginx reload /* idem */

Pour le fichier de config

## desactive les infos nginx 
server_tokens off;

## active version spécifique de SSL
ssl_protocols TLSv1.2 TLSv1.3;

## active uniquement les requetes POST/GET et HEAD
location / {
  limit_except GET HEAD POST { deny all; }
}

## Limiter le nb de connexion depuis une même IP
location / {
  limit_conn conn_per_ip 10;
}

## blacklister certaines IP 
location / {
  deny 111.111.111.4;
  deny 111.111.111.0/24;
}

## tout interdire sauf certaines IP
location / {
  allow 111.111.111.4;
  deny all;
}