Lorsque vous configurez un serveur Web avec laravel et nginx, vous souhaitez souvent limiter les adresses IP uniquement à des répertoires spécifiques. : froncer les sourcils2: La restriction d'adresse IP peut être effectuée du côté de laravel, mais je n'ai pas trouvé beaucoup d'exemples de configuration lors de la configuration de laravel + nginx, alors je l'ai résumé.
Si le nombre d'adresses IP que vous souhaitez autoriser est égal à un, placez-le correctement
if($_SERVER["REMOTE_ADDR"] !== "xxx.xxx.xxx.xxx"){
abort(403);
}
Quoi qu'il en soit, je devrais l'écrire, mais à mesure que le nombre augmente, cela devient un peu ennuyeux. Si des adresses IP supplémentaires sont spécifiées par sous-zone. .. .. : joie:
Docker Nginx laravel
Pour la construction de l'environnement de laravel + nginx + docker, qui est le principe de cet article, reportez-vous à l'article god de @ ucan-lab ici.
https://qiita.com/ucan-lab/items/5fc1281cd8076c8ac9f4
J'ai omis les parties qui ne sont pas liées aux paramètres, veuillez donc vous référer à l'article de Dieu ci-dessus pour les paramètres de nginx.
nginx.conf
#Les deux suivants sont les paramètres de base pour exécuter laravel sur nginx.
#Toutes les demandes sont indexées en tant que racine laravel.Rediriger vers PHP
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# .Traitez les fichiers php avec 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;
}
#De là, le sujet principal est la restriction IP de l'annuaire.
# admin/Exemple de restriction de répertoires
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;
}
Si seuls les paramètres d'emplacement suivants sont utilisés, nginx essaiera d'afficher les fichiers sous / admin / tels quels, donc cela ne fonctionnera pas comme laravel.
location /admin/ {
allow yyy.yyy.yyy.yyy;
deny all;
}
J'ai donc dû réécrire les paramètres pour rediriger vers index.php à l'emplacement.
try_files $uri $uri/ /index.php?$query_string;
Bien entendu, il est également possible de spécifier par sous-réseau.
allow 192.168.1.0/24;
Cependant, étant donné que les paramètres de sécurité de l'ensemble de l'application seront distribués à plusieurs emplacements, le contrôleur sous / admin / et route.php etc.
/*
Les restrictions d'adresse IP sont effectuées du côté nginx
*/
Si vous commentez, ** votre futur moi ** et le ** successeur ** qui a pris le relais seront enregistrés. e? Savez-vous généralement où vous définissez la sécurité?
C'est doux: gâteau:
** Vous avez maintenant des restrictions d'adresse IP sur un répertoire spécifique dans laravel. **: détendu:
Comment verrouiller et améliorer encore la sécurité en cas d'échec de la connexion continue avec laravel https://qiita.com/reopa_sharkun/items/7def0cc0a8647df10ade
Si vous trouvez cet article utile : clap: Veuillez soutenir en appuyant sur le bouton ↓ ↓: détendu:
Recommended Posts