LinuxProfi . AT
ihr professioneller Linux Dienstleister
mcedit /etc/nginx/conf.d/<domainname>.conf
server { listen 80; server_name <domainname>; charset utf-8; access_log /var/log/nginx/<domainname>/access.log main; error_log /var/log/nginx/<domainname>/error.log error; root /var/www/<domainname>; location / { try_files $uri $uri/ /index.php$is_args$args; index index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location = /favicon.ico { try_files /favicon.ico =204; } # Leite PHP Scripte zum FastCGI Server auf 127.0.0.1:9000 weiter # location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; root /var/www/<domainname>; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/<domainname>$fastcgi_script_name; } # Verbiete das lesen von .htaccess im Document Root-Verzeichnis # location ~ /\.ht { deny all; } } # Und nun das selbe für SSL-Verbindungen server { listen 443; server_name <domainname>; charset utf-8; access_log /var/log/nginx/<domainname>/access-ssl.log main; error_log /var/log/nginx/<domainname>/error-ssl.log error; root /var/www/<domainname>; location / { try_files $uri $uri/ /index.php$is_args$args; index index.php; } # Umleiten von Serverfehlern auf statische Seite /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location = /favicon.ico { try_files /favicon.ico =204; } # Leite PHP Scripte zum FastCGI Server auf 127.0.0.1:9000 weiter # location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; root /var/www/<domainname>; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/<domainname>$fastcgi_script_name; } # Verbiete das lesen von .htaccess im Document Root-Verzeichnis # location ~ /\.ht { deny all; } ssl on; ssl_certificate /etc/nginx/ssl/<domainname>/<domainname>.crt; ssl_certificate_key /etc/nginx/ssl/<domainname>/<domainname>.key; }
Was wir noch brauchen sind die SSL-Zertifikate. Ich bevorzuge aktuell selbst-signierte Zertifikate (wenn´s ganz sicher sein soll und wenn wenig Kundenkontakt zu diesen SSL-Seiten kommt (z.B: für Administationsseiten von CMS-Systemen)).
mkdir -p /etc/nginx/ssl/<domainname>
cd /etc/nginx/ssl/<domainname>
openssl genrsa -out <domainname>.key 2048
openssl req -new -key <domainname>.key -out <domainname>.csr
openssl x509 -req -days 3650 -in <domainname>.csr -signkey <domainname>.key -out <domainname>.crt
besten Dank