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