Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So konfigurieren Sie Nginx zum Schutz der Sicherheit von WordPress/PHP-Websites

So konfigurieren Sie Nginx zum Schutz der Sicherheit von WordPress/PHP-Websites

王林
王林Original
2023-06-11 10:30:121617Durchsuche

Nginx ist ein beliebter Webserver. Er zeichnet sich nicht nur durch hohe Leistung, geringen Verbrauch und starke Parallelität aus, sondern unterstützt auch die Konfiguration von Reverse-Proxy, Lastausgleich, HTTPS und viele andere Funktionen. Bei WordPress/PHP-Websites ist die Verwendung der Nginx-Konfiguration zum Schutz der Sicherheit sehr wichtig. In diesem Artikel werden einige Nginx-Konfigurationsmethoden vorgestellt, um die Sicherheit von WordPress/PHP-Websites zu gewährleisten.

  1. Reverse-Proxy konfigurieren

Reverse-Proxy bezieht sich auf die Weiterleitung von Client-Anfragen an den internen Server, und der interne Server gibt eine Antwort an den Client zurück. Durch den Reverse-Proxy kann die tatsächliche IP-Adresse des internen Servers ausgeblendet werden, wodurch der Zweck des Schutzes des Servers erreicht wird. In Nginx können Sie die Proxy_pass-Direktive verwenden, um den Reverse-Proxy zu konfigurieren, wie unten gezeigt:

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

In der obigen Konfiguration lautet die Adresse des Reverse-Proxy-Servers http://127.0.0.1:8080 und $host stellt die dar Der vom Client angeforderte Domänenname stellt die tatsächliche IP-Adresse des Clients dar.

  1. Eingeschränkten IP-Zugriff konfigurieren

Durch das Konfigurieren eines eingeschränkten IP-Zugriffs kann der Zugriff auf bestimmte IPs oder IP-Segmente gesteuert werden, um den Server vor illegalem Zugriff zu schützen. In Nginx können Sie die IP-Zugriffskontrolle mithilfe der Allow- und Deny-Anweisungen konfigurieren, wie unten gezeigt:

location / {
    deny 192.168.1.1;
    allow all;
}

Die obige Konfiguration verweigert Zugriffsanfragen mit der IP-Adresse 192.168.1.1 und lässt Zugriffsanfragen von anderen IP-Adressen zu. Sie können Kommas verwenden, um mehrere IP-Adressen oder IP-Segmente zu trennen.

  1. HTTPS konfigurieren

HTTPS konfigurieren kann die übertragenen Daten verschlüsseln und so die Daten vor Diebstahl oder Manipulation während der Übertragung schützen. In Nginx können Sie die Anweisungen ssl_certificate und ssl_certificate_key verwenden, um HTTPS wie folgt zu konfigurieren:

server {
    listen 443 ssl;
    server_name yourdomain.com;

    ssl_certificate /path/to/yourdomain.crt;
    ssl_certificate_key /path/to/yourdomain.key;

    location / {
        ...
    }
}

In der obigen Konfiguration sind /path/to/yourdomain.crt und /path/to/yourdomain.key die Pfade zum SSL-Zertifikat und privater Schlüssel bzw.

  1. Anti-Hotlinking konfigurieren

Durch das Konfigurieren von Anti-Hotlinking können andere Websites daran gehindert werden, Bilder oder Ressourcen dieser Website über direkte Links anzuzeigen, wodurch Ressourcen vor illegaler Nutzung geschützt werden. In Nginx können Sie die Direktive valid_referers verwenden, um Anti-Hotlinking zu konfigurieren, wie unten gezeigt:

location /images/ {
    valid_referers none blocked yourdomain.com;
    if ($invalid_referer) {
        return 403;
    }
}

In der obigen Konfiguration ist /images/ der zu schützende Ressourcenpfad, valid_referers wird verwendet, um einen gültigen Quelldomänennamen anzugeben, keinen bedeutet, dass Einschränkungen für Domainnamen nicht angewendet und blockiert werden. Es bedeutet, dass alle illegalen Quellen abgelehnt werden. yourdomain.com bedeutet, dass der Zugriff von Quellen aus diesem Domainnamen zugelassen wird. Wenn der angeforderte Ursprung nicht in der gültigen Ursprungsliste enthalten ist, wird ein 403-Fehler zurückgegeben.

  1. Cache konfigurieren

Die Konfiguration des Caches kann die Belastung des Servers verringern, die Zugriffsgeschwindigkeit der Website verbessern und die Erreichbarkeit der Website aufrechterhalten, wenn der Server ausfällt. In Nginx können Sie die Direktive „proxy_cache_path“ verwenden, um den Cache zu konfigurieren, wie unten gezeigt:

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;

location / {
    proxy_cache my_cache;
    proxy_cache_valid 200 60m;
    proxy_cache_valid 404 1m;
}

In der obigen Konfiguration ist /var/cache/nginx der Cache-Pfad, Levels=1:2 gibt die hierarchische Ebene des Cache-Pfads an ,keys_zone=my_cache: 10m bedeutet, dass my_cache als Cache-Speicherplatz verwendet wird, die Größe beträgt 10M, inaktiv=60m bedeutet, dass der Cache nach 60 Minuten geleert wird. Die Direktive „proxy_cache“ wird verwendet, um das Caching zu aktivieren, und die Direktive „proxy_cache_valid“ wird verwendet, um die Cache-Zeit festzulegen.

Zusammenfassung

Durch die oben genannten fünf Nginx-Konfigurationsmethoden können Sie die Sicherheit von WordPress/PHP-Websites effektiv schützen. Reverse Proxy kann die tatsächliche IP-Adresse des Servers verbergen, den IP-Zugriff einschränken, um den Zugriff auf den Server zu kontrollieren, HTTPS kann die Datenübertragung verschlüsseln, Anti-Leeching kann Ressourcen vor illegaler Nutzung schützen und Caching kann die Zugriffsgeschwindigkeit und Zugänglichkeit der Website verbessern . Natürlich können diese Konfigurationsmethoden die Sicherheit der Website nicht vollständig garantieren. Sie müssen auch auf andere Sicherheitsaspekte wie Passwortschutz, Dateiberechtigungen usw. achten.

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie Nginx zum Schutz der Sicherheit von WordPress/PHP-Websites. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn