Nginx Beispielconfig

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

Ein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert