Inhaltsverzeichnis
? Wie Nginx aus wählt, welchen Standortblock zu verwenden ist
? Gemeinsame Muster, die Sie kennen sollten
✅ statische Dateien effizient bedienen
✅ Proxy -API -Anfragen
✅ Sensible Dateien blockieren
✅ Übereinstimmende Übereinstimmung für Wurzel- oder Gesundheitsprüfungen
⚠️ Fallstricke zu vermeiden
✅ Pro -Tipp: Testen Sie Ihre Konfiguration wie ein Profi
Heim Betrieb und Instandhaltung Nginx Mastering Nginx -Standortblöcke beherrschen

Mastering Nginx -Standortblöcke beherrschen

Jul 23, 2025 am 12:26 AM

Nginx wählt Standortblöcke gemäß Priorität aus: = (exakte Übereinstimmung) ist die höchste, ^~ (Präfix -Match) ist das zweite, ~ oder ~* (reguläres Spiel) ist das niedrigste und das normale Präfix ist das niedrigste; 2. Häufige Muster umfassen ^~ optimieren statische Dateien, /API /Proxy -Schnittstelle, ~ Maskieren versteckter Dateien, = Schnellantwort -Root -Pfad; 3. Vermeiden Sie Fallen: Missbrauch nicht die Regelmäßigkeit, achten Sie auf die Unterschiede in den Schwanzschleichen und verwenden Sie Try_files vernünftigerweise, um das Spa -Routing zu implementieren. 4. Nach der Änderung müssen Sie sudo nginx -t verwenden, um die Konfiguration zu testen und den Pfad vorübergehend hinzuzufügen /zu debuggen, um die übereinstimmende Logik zu überprüfen. Beherrschen Sie die Prioritätsreihenfolge und schreiben Sie eine effiziente und sichere NGINX -Konfiguration.

Mastering Nginx -Standortblöcke beherrschen

NGINX -Standortblöcke sind eines der leistungsstärksten und am häufigsten missverstandenen Merkmale in der Nginx -Konfiguration. Sie bestimmen, wie Nginx Anfragen basierend auf dem URL -Pfad umgeht - aber die Regeln für die Übereinstimmung und Priorität können schwierig sein, wenn Sie nicht wissen, wonach Sie suchen müssen.

Mastering Nginx -Standortblöcke beherrschen

Hier erfahren Sie, wie Sie Nginx -Standortblöcke beherrschen, ohne sich im Syntaxdschungel zu verlieren.


? Wie Nginx aus wählt, welchen Standortblock zu verwenden ist

Wenn eine Anfrage eingeht (z. B. /api/users ), überprüft Nginx alle definierten location und wählt eine mithilfe einer strengen Prioritätsreihenfolge aus:

Mastering Nginx -Standortblöcke beherrschen
  1. = (genaue Übereinstimmung) - höchste Priorität

     location = /api {
        # Nur übereinstimmt /API genau - nicht mehr, nicht weniger
    }
  2. ^~ (Präfixübereinstimmung, Fallempfindlichkeit, kein Regex)

    Mastering Nginx -Standortblöcke beherrschen
     Ort ^~ / static / {
        # Übereinstimmung /static/css/app.css usw., stoppt jedoch weitere Regex -Schecks
    }
  3. * ~ (Fallempfindlichkeitsempfindlich) oder ~ ~ `(Fall-unempfindliche Regex) **

     Standort ~* \. (JPG | Png | gif) $ {
        #Service Bilddateien-Fall-unempfindlich
    }
  4. Unmodifiziertes Präfix -Match (kein Operator) - niedrigste Priorität unter den Spielen

     Standort / {
        # Fallback - passt alles andere an
    }

Schlüsseltipp : Nginx verwendet die Bestellung in Ihrer Konfigurationsdatei nicht - sie verwendet diese Prioritätslogik. Wenn Sie also einen Regex -Block vor einer genauen Übereinstimmung setzen, wird sich nichts ändern.


? Gemeinsame Muster, die Sie kennen sollten

✅ statische Dateien effizient bedienen

 Ort ^~ / assets / {{{{
    root/var/www/myapp;
    läuft 1y ab;
    add_header cache-kontroll "öffentlich, unveränderlich";
}
  • Verwendet ^~ um Regex -Overhead zu vermeiden
  • Setzt lange Cache -Header für die Leistung

✅ Proxy -API -Anfragen

 Ort / api / {
    proxy_pass http: // Backend;
    proxy_set_header host $ host;
}
  • Präfix -Match → Handles /api/v1/users usw.
  • Nein regex = schneller als ~ /api/

✅ Sensible Dateien blockieren

 Ort ~ /\. {
    alles leugnen;
    Rückkehr 404;
}
  • Blöcke Zugriff auf versteckte Dateien wie .env , .git/

✅ Übereinstimmende Übereinstimmung für Wurzel- oder Gesundheitsprüfungen

 location = / {
    Rückkehr 200 "ok";
    add_Header content-Typ-Text/Ebene;
}
  • Schnellstmögliche Antwort - keine Mehrdeutigkeit

⚠️ Fallstricke zu vermeiden

  • Mischen Sie Regex nicht und Präfix unachtsam
    Wenn Sie sowohl location /api/ und location ~ /API/ haben, gewinnt das Präfix, es sei denn, Sie verwenden ^~ oder = .

  • Beobachten Sie nachfolgende Schrägstriche
    location /path Pfadübereinstimmungen /path und /path/anything
    Aber location /path/ nur übereinstimmen Pfade, beginnend mit /path/ - subtil, aber wichtig!

  • Regex ist teuer
    Vermeiden Sie Regex, es sei denn, Sie benötigen es wirklich (wie Dateierweiterungen oder dynamische Pfade). Verwenden Sie nach Möglichkeit ^~ oder einfache Präfixe.

  • Verwenden Sie try_files innerhalb von Standorten mit Bedacht

     Standort / {
        try_files $ uri $ uri / / index.html;
    }

    So aktivieren Sie das Spa -Routing (z. B. React/Vue -Apps).


✅ Pro -Tipp: Testen Sie Ihre Konfiguration wie ein Profi

Nach der Bearbeitung:

 sudo nginx -t

Fügen Sie dies vorübergehend hinzu:

 Ort /Debugg {
    return 200 "Matched: /Debug \ n";
}

Testen Sie dann mit curl http://yoursite/debug .

Oder verwenden Sie Tools wie nginxconfig.io , um sichere Konfigurationen zu visualisieren und zu generieren.


Bei der Beherrschung von Nginx -Standortblöcken handelt es sich nicht um das Auswendiglernen eines Bedieners - es geht darum, die Prioritätsreihenfolge zu verstehen und zu wissen, wann jeder Typ verwendet werden soll. Sobald Sie das erhalten haben, werden schnelle, sichere und wartbare NGINX -Konfigurationen zur zweiten Natur.

Denken Sie im Grunde genommen nur daran: = , dann ^~ , dann ~ / ~* , dann einfaches Präfix. Alles andere fließt von dort aus.

Das obige ist der detaillierte Inhalt vonMastering Nginx -Standortblöcke beherrschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1506
276
Wie kann man HTTP -Strict Transport Security (HSTs) aktivieren? Wie kann man HTTP -Strict Transport Security (HSTs) aktivieren? Jul 12, 2025 am 01:00 AM

Die Methode zum Aktivieren von HSTs besteht darin, den Header für strikte Transport-Security-Antwort auf der HTTPS-Website zu konfigurieren. Die spezifischen Operationen sind: 1.Nginx fügt die add_header -Anweisung im Serverblock hinzu. 2.APache fügt die Header -Anweisung in die Konfigurationsdatei oder .htaccess hinzu. 3.IIS fügt CustomHeaders in Web.Config hinzu; Es ist erforderlich, sicherzustellen, dass die Site HTTPPs vollständig unterstützt, Parameter maximal (gültiger Zeitraum), inklusive Unterdomänen (Subdomanains sind effektiv), Vorspannung (Vorspannungsliste) und die Voraussetzung ist die Voraussetzung für die Übermittlung bei der HSTSpreload-Liste.

Wie konfigurieren Sie einen Nginx -Serverblock für SSL/TLS auf Port 443? Wie konfigurieren Sie einen Nginx -Serverblock für SSL/TLS auf Port 443? Jul 14, 2025 am 01:27 AM

Um den SSL/TLS -Dienst von NGINX zu konfigurieren, müssen Sie das Zertifikat und den privaten Schlüssel vorbereiten und die entsprechenden Parameter im Serverblock festlegen. 1. Bereiten Sie die Zertifikatdatei vor: Ermitteln Sie das Zertifikat in .Crt- oder .pem -Format und den entsprechenden .Key -privaten Schlüssel. Sie können Let’Sencrypt oder Commercial Organization verwenden, um es auszugeben und das Zwischenzertifikat in die Bundle -Datei zusammenzuführen. 2. Konfigurieren Sie den Serverblock: Definieren Sie Listen443SSL, SSL_Certificate Path as /etc/ssl/example.com.crt und SSL_Certificate_key Path as /etc/ssl/example.com.k in der Site -Konfigurationsdatei.

Wie teste ich meine Nginx -Konfiguration auf Syntaxfehler vor dem Nachladen? Wie teste ich meine Nginx -Konfiguration auf Syntaxfehler vor dem Nachladen? Jul 13, 2025 am 01:06 AM

Nachdem Sie die NGINX -Konfiguration geändert haben, sollten Sie zuerst die Syntax testen und dann den Dienst neu laden. 1. Überprüfen Sie Nginx-T, um die Konfigurationsdateisyntax zu überprüfen. Wenn die Eingabeaufforderung "Syntaxisok" und "testissuccessful" aufgefordert werden, bedeutet dies, dass sie korrekt ist. Wenn ein Fehler vorliegt, wird die spezifische Problemlinie angezeigt. 2. Wenn die Konfigurationsdateiberechtigungen hoch sind, müssen Sie Sudonginx-T zum Ausführen verwenden. 3. bestätigen Sie, dass der Test tatsächlich geladen ist. Sie können den Pfad über nginx-t-c/path/to/your/nginx.conf angeben oder die Konfigurationsdatei anzeigen, die vom Hauptprozess über ps-ef | grepnginx verwendet wird. 4. Führen Sie nach dem Test den Sudonginx-Reload-Überladungsdienst aus, um die neue Konfiguration in Kraft zu setzen

Wie richte ich einen Nginx -Server -Block (virtueller Host) ein? Wie richte ich einen Nginx -Server -Block (virtueller Host) ein? Jul 19, 2025 am 02:00 AM

ToSetupannginxServerblock, FirstUnteStanditsStructureS -UsesingtheserverdirectiveWithslikelisten, Server_Name und Llocation; Als nächstes, createArektorySchruTureForyoursuchas/var/www/example.com/htmlandsetProperpermissions;

Was ist der Zweck des Modifikators in einem Standortblock? Was ist der Zweck des Modifikators in einem Standortblock? Jul 13, 2025 am 01:19 AM

Der ^~ -Modifikator wird in Nginx verwendet, um die Übereinstimmung der URL des angegebenen Präfixes zu priorisieren und nachfolgende reguläre Ausdrücke zu verhindern. Wenn die angeforderte URL mit diesem Präfix beginnt, übernimmt NGINX diese Blockkonfiguration sofort und überspringt alle regulären Ausdrücke (Ort ~ oder Ort ~*), erfordert jedoch keine vollständige genaue Übereinstimmung wie =. 1. Es ist für Situationen geeignet, in denen eine spezifische Pfadverarbeitung erforderlich ist (z. B. statische Ressourcen) und vermeiden, durch reguläre Regeln überschrieben zu werden. 2. Es wird häufig verwendet, um die Leistung zu verbessern und sicherzustellen, dass zuerst bestimmte Regeln ausgeführt werden. 3. Typische Szenarien umfassen Servicebilder, Skripte oder interne API -Routing. Im Vergleich zu anderen Modifikatoren: 4. Normales Präfix -Match überprüft weiterhin den regulären; 5. Die genaue Übereinstimmung gilt nur für den vollständigen Pfad. 6. Regelmäßiges Match wird in sein

Wie konfigurieren Sie einen Backup -Server in einem Upstream -Block? Wie konfigurieren Sie einen Backup -Server in einem Upstream -Block? Jul 12, 2025 am 01:24 AM

ToconfigureAbackupserverinnginx, fügen Sie die "backup" parameterToaServerinTheUpstreamBlock hinzu und sicherstellen Sie, dass es sich, dass die INTER -SERVICEMTHEALTERSERVERSAREUTRAVALABLEINE.1.DEFINEDEFINETHEBABELUPSERVERUSKENSELDAWTAX "ServerbackUpUPUPUPUPUPUPUM;

Wie blockiere ich bestimmte Benutzeragenten? Wie blockiere ich bestimmte Benutzeragenten? Jul 26, 2025 am 08:20 AM

Um einen bestimmten Benutzer-Agenten zu blockieren, kann es in Nginx, Apache oder Code (wie PHP, Python) implementiert werden. 1. In Nginx, Richter $ http_user_agent von if und zurückgegeben 403; 2. Verwenden Sie in Apache SetEnvifnocase und verweigern Sie, Zugriff zu verweigern. 3.. Richter Benutzer-Agent in das Programm und fangen die Anfrage ab. Gemeinsame UAs, die blockiert werden müssen, umfassen Python-Requests, Locken, leere UA usw. Die Auswahl der geeigneten Methode kann den Müllverkehr und die Sicherheitsrisiken effektiv reduzieren.

Was ist die Proxy_Pass -Anweisung und wie funktioniert sie? Was ist die Proxy_Pass -Anweisung und wie funktioniert sie? Jul 14, 2025 am 12:29 AM

proxy_pass wird in nginx verwendet, um Client -Anforderungen an den Backend -Server weiterzuleiten, und seine Kernaufgabe besteht darin, NGINX zu ermöglichen, HTTP -Anforderungen als Reverse -Proxy zu verarbeiten. 1. Es empfängt Benutzeranfragen und leitet an den angegebenen Backend -Dienst (z. B. Node.js -Anwendung auf Port 3000) weiter. 2. Nginx verarbeitet die vom Backend zurückgegebene Antwort und sendet sie an den Benutzer zurück. Gleichzeitig kann es im Prozess Cache-, Komprimierungs- oder Zugriffskontrollfunktionen hinzufügen. 3. Beim Einstellen achten Sie auf die Beziehung zwischen den Pfadanpassungen und den Schwanzschläken, um festzustellen, ob der Pfad des passenden Teils entfernen soll; 4.. Es ist notwendig, mit der Einstellung von Standard-Proxy-Headern (z. B. Host, X-Real-IP usw.) zusammenzuarbeiten, um sicherzustellen, dass das Backend die korrekten Kontextinformationen erhält. 5. Häufige Probleme sind der Weg nicht

See all articles