07/03/2018

nginx

Configuration nginx de base pour php-fpm

server{
	listen 80 default_server;
	listen [::]:80 default_server;

	root /var/www/html;

	index router.php index.php index.html index.htm index.nginx-debian.html;

	server_name _;

	location / {
		try_files $uri $uri/ index.php;
	}

	location ~ \.php$ {
		include snippets/fastcgi-php.conf;
		
		# listen 127.0.0.1:9000 à la place de listen = ...sock dans */etc/php/7.3/fpm/pool.d/www.conf* 
		#fastcgi_pass unix:/run/php/php7.3-fpm.sock;
		fastcgi_pass 127.0.0.1:9000;
	}
}

Alias

Si un dossier n’est pas dans le root, on peut l’ajouter de cette manière

location /uploads {
	alias /var/www/html/citadel/uploads;
}

Proxypass

location ^~ /citadel/ { proxy_pass http://127.0.0.1:8080/; }

Si vous voulez garder l’ip du client au niveau de la destination du proxy_pass il faut :

  1. Ajouter ces deux lignes dans le location sur le reverse proxy :
 location ^~ / {  
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_pass http://main.private/;
}

Attention il faut le mettre APRES le proxy_passe

  1. Ajouter ces deux lignes dans le location sur le proxy_passe :
 location / { 

     real_ip_header X-Forwarded-For; 
     set_real_ip_from 10.0.30.1; 
 
 }

Le 10.0.30.1 c’est l’ip que vous voulez remplacer (bride ou autre….)

reset config

To recreate it, first uninstall using purge to remove even configuration files and records:

sudo apt-get purge nginx nginx-common nginx-full

then reinstall:

sudo apt-get install nginx

If above doesn’t work for you, you can also try using –force-confmiss option of dpkg.

sudo dpkg --force-confmiss -i /var/cache/apt/archives/nginx-common_*.deb