URLs weiterleiten mit nginx, kein www zu www

von Thomas


Erstellt am 30.11.2018


nginx logo

Im Folgenden wird gezeigt, wie ihr eure Domains auf www mit nginx weiterleiten könnt

Läger habe ich nun schon keinen Artikel mehr erstellt. Das hat damit zu tun, dass ich vor kurzem meine Abschlussprüfung hatte. Gleichzeitig kam mein Projekt für die Ausbildung noch dazu. Es war leider keine Zeit für die Webseite da.
Da sich das nun wieder ändern soll und auch wird, habe ich heute einen kurzen Artikel für euch, wie man mit Hilfe von nginx seine Domain ohne www zu www weiterleiten kann.

Aber warum brauche ich überhaupt www?

Ehrlich gesagt benötigt ihr kein www vor eurer Domain um eine Webseite zu betreiben. Es gehört jedoch zum guten Stil. WWW steht für World Wide Web und kennzeichnet die Sammlung von vernetzten Webseiten miteinander. Prinzipiell ist www nur eine Subdomain, die anzeigen soll, dass hier eine Webpräsenz zu erwarten ist. Wer seine Webseite also unter www.deineDomain.de erreichbar macht zeigt, dass er sich mit dem Internet auseinandersetzt und wirkt bei Fachleuten professioneller.

Aber nun zu der Konfiguration mit nginx

In einem meiner ersten Tutorials habe ich bereits einmal den Umstieg von Apache auf nginx beschreiben.

Im Serverblock für http müsst ihr folgendes schreiben:
server {

listen 80;
listen [::]:80;
server_name englert.one www.englert.one;

### Location für Let's Encrypt ###
location ^~ /.well-known/acme-challenge/ {
root /var/www/html/englert/;
}

location / {
# enforce https
return 301 https://www.$server_name$request_uri;
}
}
für https gilt:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.de;

ssl_certificate /etc/letsencrypt/live/example.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.de/privkey.pem;
return 301 https://www.$server_name$request_uri;
location / {
https://www.$server_name$request_uri;
}
### Eure weitere individuelle Konfiguration ###
...
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.example.de;

ssl_certificate /etc/letsencrypt/live/www.example.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.example.de/privkey.pem;
### Eure weitere individuelle Konfiguration ###
...
}