[DOCKER] So wenden Sie IP-Adressbeschränkungen nur auf bestimmte Verzeichnisse mit Laravel + Nginx an

Wenn Sie einen Webserver mit Laravel und Nginx einrichten, möchten Sie IP-Adressen häufig nur auf bestimmte Verzeichnisse beschränken. : Stirnrunzeln2: Die Einschränkung der IP-Adresse kann auf der Laravel-Seite vorgenommen werden, aber ich habe beim Festlegen von Laravel + Nginx nicht viele Einstellungsbeispiele gefunden, daher habe ich sie zusammengefasst.

Wenn Sie eine IP-Adresse zulassen möchten, platzieren Sie diese entsprechend

if($_SERVER["REMOTE_ADDR"] !== "xxx.xxx.xxx.xxx"){
   abort(403);
}

Wie auch immer, ich sollte es schreiben, aber wenn die Anzahl steigt, wird es ein wenig nervig. Wenn zusätzliche IP-Adressen pro Subzone angegeben werden. .. .. : Freude:

Voraussetzung für die Konstruktion der Laravel + Nginx-Umgebung

Docker Nginx laravel

Informationen zur Umgebungskonstruktion von Laravel + Nginx + Docker, die die Prämisse dieses Artikels darstellt, finden Sie hier im Artikel von @ ucan-lab.

https://qiita.com/ucan-lab/items/5fc1281cd8076c8ac9f4

Laravel + nginx-Konfigurationsdatei, die IP-Adressen nur auf bestimmte Verzeichnisse beschränkt

Ich habe die Teile weggelassen, die sich nicht auf die Einstellungen beziehen. Die Einstellungen für Nginx finden Sie im obigen Gott-Artikel.

nginx.conf



    #Die folgenden beiden Einstellungen sind die Grundeinstellungen für die Ausführung von Laravel unter Nginx.
    #Alle Anfragen werden als Laravel-Root indiziert.Weiterleiten an PHP
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # .Verarbeiten Sie PHP-Dateien mit FastCGI
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    #Von hier aus ist das Hauptthema die Verzeichnis-IP-Beschränkung.
    # admin/Beispiel für das Einschränken von Verzeichnissen
    location /admin/ {
        try_files $uri $uri/ /index.php?$query_string;
        # allow ip list
        allow xxx.xxx.xxx.xxx;
        allow yyy.yyy.yyy.yyy;
        deny all;
    }

Punkte setzen

Wenn nur die folgenden Standorteinstellungen verwendet werden, versucht nginx, die Dateien unter / admin / so anzuzeigen, wie sie sind, sodass sie nicht als Laravel funktionieren.

    location /admin/ {
        allow yyy.yyy.yyy.yyy;
        deny all;
    }

Also musste ich die Einstellungen neu schreiben, um an Ort und Stelle zu index.php umzuleiten.

try_files $uri $uri/ /index.php?$query_string;

Natürlich ist es auch möglich, nach Subnetz anzugeben.

allow 192.168.1.0/24;

Da jedoch die Sicherheitseinstellungen der gesamten Anwendung auf mehrere Speicherorte verteilt werden, wird der Controller unter / admin / und route.php usw.

/*

Die IP-Adressbeschränkung erfolgt auf der Nginx-Seite

*/

Wenn Sie einen Kommentar abgeben, werden ** Ihr zukünftiges Selbst ** und der ** Nachfolger **, der die Übernahme übernommen hat, gerettet. e? Wissen Sie normalerweise, wo Sie die Sicherheit einstellen?

Es ist süß: Kuchen:

Ende

** Jetzt haben Sie IP-Adressbeschränkungen für ein bestimmtes Verzeichnis in Laravel. **: entspannt:

Bitte lesen Sie auch die Artikel zur Laravel-Sicherheit.

So sperren Sie die Sicherheit und verbessern sie weiter, wenn die kontinuierliche Anmeldung mit Laravel fehlschlägt https://qiita.com/reopa_sharkun/items/7def0cc0a8647df10ade

Wenn Sie diesen Artikel hilfreich finden : klatschen: ↓ Drücken Sie die Taste, um ↓ zu unterstützen: entspannt:

Recommended Posts

So wenden Sie IP-Adressbeschränkungen nur auf bestimmte Verzeichnisse mit Laravel + Nginx an
So führen Sie mit dem Rake-Test von gem nur bestimmte Dateien aus
So überwachen Sie Nginx mit Docker-Compose mit Datadog
Speichern von Dateien mit der angegebenen Erweiterung unter dem in Java angegebenen Verzeichnis in der Liste
Ich möchte eine bestimmte Datei mit WatchService überwachen
[So fügen Sie ein Video mit Rails in haml ein]
[Java] So löschen Sie ein bestimmtes Zeichen aus einer Zeichenfolge
Verwenden Sie java1.7 (zulu7) in einem bestimmten Verzeichnis mit jenv
[Rails] So laden Sie JavaScript in einer bestimmten Ansicht
[IOS] Zum Drehen nur eines bestimmten Bildschirms
[Kotlin] So erhalten Sie die IP-Adresse und den Benutzeragenten
[Java] So unterbrechen Sie eine Zeile mit StringBuilder
Ruby mit AtCoder lernen 13 So erstellen Sie ein zweidimensionales Array
Großschreibung nur des angegebenen Bereichs mit Teilzeichenfolge. (Verwendung von Teilzeichenfolgen)
So verschieben Sie eine andere Klasse mit einer Schaltflächenaktion einer anderen Klasse.
[Docker] Löschen Sie nur das Volume, das einem bestimmten Container zugeordnet ist
Zuordnung zu einer Klasse mit einem Wertobjekt in How to My Batis
[ruby] Erstellen eines Programms, das nur auf bestimmte Bedingungen reagiert
So richten Sie einen Proxy mit Authentifizierung in Feign ein
So registrieren Sie sich mit Tomcat als Kunde in Square
Wie hinterlasse ich einen Kommentar?
So legen Sie Nginx von Docker fest
Wie man mit html.erb nummeriert (nummeriert)
So aktualisieren Sie mit activerecord-import
So fügen Sie ein Video ein
So erstellen Sie eine Methode
Ich möchte rekursiv nach Dateien in einem bestimmten Verzeichnis suchen
So legen Sie die IP-Adresse und den Hostnamen von CentOS8 fest
So brechen Sie das Zusammenführen von Zellen innerhalb eines bestimmten Bereichs mit dem POI ab
So erstellen Sie eine JAR-Datei ohne Abhängigkeiten in Maven
So benennen Sie ein Modell mit externen Schlüsseleinschränkungen in Rails um
So öffnen Sie eine Skriptdatei von Ubuntu mit VS-Code
[chown] So ändern Sie den Eigentümer einer Datei oder eines Verzeichnisses
kotlin & Java: So blenden Sie die Symbolleiste nur für bestimmte Fragmente aus
Wie man mit der Generierung dynamischer SQL-Abfragen ein wenig knifflig baut