In diesem Tutorial werden wir kurz besprechen, wie Sie die try_files-Direktive verwenden und wann und wie Sie sie verwenden:
Was ist die try_files-Direktive und wie funktioniert sie??
Normalerweise verwenden wir die Nginx try_files-Direktive, um rekursiv zu überprüfen, ob Dateien in einer bestimmten Reihenfolge vorhanden sind, und die zuerst gefundene Datei bereitzustellen.
Die try_file-Direktive befindet sich in den Server- und Standortblöcken und gibt die Dateien und Verzeichnisse an, in denen Nginx nach Dateien suchen soll, wenn die Anfrage an den angegebenen Standort eingeht. Eine typische Syntax der try_files-Direktive lautet:
Lage /try_files $uri $uri/ /default/index.html;
Der Standort/Block gibt an, dass dies für alle Standorte gilt, es sei denn, der Standort /
Innerhalb des zweiten Blocks bedeutet try_files, wenn Nginx eine Anfrage an die URI erhält, die mit dem Block am Speicherort übereinstimmt, versuchen Sie zuerst die $uri, und wenn die Datei vorhanden ist, stellen Sie die Datei bereit.
Wenn beispielsweise eine Anfrage wie https://linuxhint.com/blocks/io.sh empfangen wird, sucht Nginx zuerst nach der Datei im Verzeichnis /blocks und stellt die Datei bereit, falls verfügbar.
Der nächste Teil (/default/index.html) gibt eine Fallback-Option an, wenn sich die Datei nicht im ersten Parameter befindet. Wenn sich die Datei beispielsweise nicht im Verzeichnis /block befindet, sucht Nginx nach dem Verzeichnis /default und stellt die Datei bereit, falls vorhanden.
Standardmäßig verbietet Nginx die Verzeichnisauflistung, und Sie erhalten 403 Forbidden, es sei denn, Sie haben den automatischen Index aktiviert.
Wenn Nginx die Datei an den angegebenen Speicherorten nicht findet, zeigt es dem Benutzer den Fehler 404 nicht gefunden an.
HINWEIS: Die Nginx try_files-Direktive sucht rekursiv nach Dateien und Verzeichnissen, die von links nach rechts angegeben werden, bis sie gefunden werden. Die Angabe dieser Anweisung im Standort / kann zu Leistungsproblemen führen, insbesondere auf Websites mit hohem Datenverkehr. Daher sollten Sie den Speicherortblock für try_files explizit angeben.
Fazit
Diese kurze und einfache Anleitung hat Ihnen einen Überblick über die Funktionsweise von Nginx try_block gegeben. Wir empfehlen, tief in die Nginx-Dokumentation einzutauchen, um verschiedene Blöcke zu verstehen und wann sie verwendet werden sollten.
- https://nginx.org/en/docs/http/ngx_http_core_module.html#try_files
- https://docs.nginx.com/nginx/admin-guide/web-server/serving-static-content/