Nginx verstehen

EGPHP setzt Nginx (ausgesprochen "engine-x") als Webserver ein. Nginx ist bekannt für hohe Leistung, Stabilität und geringen Ressourcenverbrauch. Anders als Apache verwendet Nginx keine .htaccess-Dateien.

Kein .htaccess: Nginx unterstützt keine .htaccess-Dateien. Dieselben Funktionen erreichen Sie über die Nginx-Konfigurationsdateien.

Zu den Nginx-Einstellungen gelangen

  1. Bei EGPNL anmelden
  2. Gehen Sie zu Domains
  3. Klicken Sie auf Ihre Domain
  4. Wählen Sie Nginx Config oder Advanced Settings

Häufige Nginx-Konfigurationen

HTTP auf HTTPS umleiten

Den gesamten Verkehr auf HTTPS zwingen:

if ($scheme != "https") {
    return 301 https://$host$request_uri;
}

www auf die Variante ohne www umleiten

if ($host ~* ^www\.(.*)) {
    return 301 https://$1$request_uri;
}

Die Variante ohne www auf www umleiten

if ($host !~* ^www\.) {
    return 301 https://www.$host$request_uri;
}

Schöne Permalinks in WordPress

Erforderlich für suchmaschinenfreundliche URLs in WordPress:

location / {
    try_files $uri $uri/ /index.php?$args;
}
Für WordPress-Nutzer: EGPNL richtet die WordPress-Permalinks automatisch ein, sobald Sie eine WordPress-Site hinzufügen. Eine manuelle Konfiguration ist nicht nötig!

Security-Header

Fügen Sie Security-Header hinzu, um Ihre Website zu schützen:

add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;

Caching konfigurieren

Browser-Caching für statische Dateien aktivieren:

location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2|woff|ttf)$ {
    expires 30d;
    add_header Cache-Control "public, immutable";
}

Gzip-Komprimierung

Aktivieren Sie die gzip-Komprimierung für schnellere Ladezeiten (in der Regel standardmäßig aktiv):

gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
gzip_min_length 1000;

Eigene Fehlerseiten

Eigene Fehlerseiten für 404 und 500 festlegen:

error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;

Zugriff sperren

Bestimmte IPs sperren

deny 123.45.67.89;
deny 98.76.54.0/24;

Bestimmte Dateien sperren

location ~ /\.(htaccess|htpasswd|git|svn) {
    deny all;
}

Ein Verzeichnis mit Passwort schützen

location /admin {
    auth_basic "Restricted";
    auth_basic_user_file /path/to/.htpasswd;
}

URL-Rewrites

URLs umschreiben, ohne weiterzuleiten:

# Rewrite old URL to new URL internally
rewrite ^/old-page$ /new-page last;

# Redirect old URL to new URL (301)
rewrite ^/old-url$ /new-url permanent;

PHP-Konfiguration

PHP-Einstellungen für Ihre Domain anpassen:

location ~ \.php$ {
    fastcgi_param PHP_VALUE "
        upload_max_filesize=64M
        post_max_size=64M
        max_execution_time=300
    ";
}
Vorsicht: Eine fehlerhafte Nginx-Konfiguration kann Ihre Website unerreichbar machen. Sichern Sie vor jeder Änderung Ihre aktuelle Konfiguration.

Konfiguration testen

Nach Ihren Änderungen:

  1. EGPNL prüft Ihre Konfiguration automatisch
  2. Bei Fehlern erscheint eine Warnmeldung
  3. Beheben Sie alle Fehler vor dem Speichern
  4. Nach erfolgreichem Speichern lädt Nginx automatisch neu