# Webserver # Nützliche NGINX-Snippets #### Unliebsame Crawler ärgern ```Nginx if (!empty($_SERVER['HTTP_USER_AGENT'])) { if (preg_match("/Wget/", $_SERVER['HTTP_USER_AGENT'])) { header("Location: ftp://speedtest.tele2.net/1000GB.zip", true, 302); exit; } } ``` #### Einzelne IP Adressen oder gesamte Netzbereiche aussperren (und Ärgern ( ͡° ͜ʖ ͡°)) ```Nginx # Dieses ganz oben in die jeweilige Konfigurationsdatei unter /etc/nginx/sites-available einfügen - IP Adresse(n) in CIDR Notation angeben geo $bad_user { default 0; xx.xx.xx.xx/32 1; xx.xx.xx.0/24 1; } # Dann im server - Block dieses einfügen, das Rewrite-Ziel kann nach Belieben verändert werden if ($bad_user) { rewrite ^ https://www.youtube.com/watch?v=oHg5SJYRHA0; } ``` # Laravel - Webseiten in einem Unterverzeichnis bereitstellen Dazu bedienen wir uns des folgenden Config-Blocks ```Nginx location ^~ /laravel { alias /var/www/laravel/public; try_files $uri $uri/ @laravel; location ~ \.php { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_split_path_info ^(.+\.php)(.*)$; include /etc/nginx/fastcgi_params; } } location @laravel { rewrite /laravel/(.*)$ /laravel/index.php?/$1 last; } ```

Die Pfade zum PHP Socket müssen an die jeweiligen Gegebenheiten angepasst werden, aktuell wäre dies auf einem Ubuntu / Debian System bspw. /var/run/php/php7.4-fpm.sock