Nginx – catch all

Tout d’abord c’est quoi un catchall ? C’est une route par défaut. Si par exemple la personne qui a tapé votre adresse mail a fait une erreur comme lngap à la place de lgnap je ne vais pas recevoir votre mail. Mais si l’adminsys a bien fait ça il devrait avoir défini une adresse mail catchall qui récupère tout ce qui n’a pas de destinataire existant et/ou adéquat.

Et bien pour les serveurs web c’est la même chose. Si vous ne spécifiez pas un host traité par le serveur dans l’url (par exemple une IP directe ou un nom de domaine pas prévu pour être utilisé sur le serveur web) on ne sait pas trop où il vous emmène. Voilà l’intérêt de ce serveur/domaine ci, le savoir et contrôler ce sur quoi ils peuvent tomber.

Bref, voici le code :

server {
	listen localhost:8888 default; # le default indique que c'est le 'domaine/server' catchall
	server_name _; # This is just an invalid value which will never trigger on a real hostname.
	server_name_in_redirect off;

	index index.php index.htm index.html; #fichiers servant d'index qu'il va essayer de charger

	#J'ai pris le parti d'activer l'autoindex sur ce domaine
	location  /  {
		autoindex  on;
		autoindex_exact_size off;
	}

	#nginx status pour munin (mais uniquement accèssible depuis localhost pr des raisons de sécurité)
        location /nginx_status { #copied from http://blog.kovyrin.net/2006/04/29/monitoring-nginx-with-rrdtool/
                stub_status on;
                allow 127.0.0.1;
                deny all;
        }
	
	#on empeche la lecture d'htaccess qui traineraient
	location ~* \.htaccess$ {
		deny all;	
	}

	#On passe les php a fastCGI
	location ~ \.php$ {
		include        fastcgi_params;
		fastcgi_pass   localhost:9000;
		#fastcgi_index  index.php;
		fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
	}

	root  /var/www/nginx-default; #Document root (le dossier du serveur en fait...)

	#logs
	access_log  /var/log/nginx/catch.all-access.log;
	error_log  /var/log/nginx/catch.all-error.log;
}
Posted in Hosting by El Gnap at January 12th, 2012.
Tags: , , ,

Comments are closed.