Tout d'abord, je vais supposer que vous voulez dire Apache 2.4 malgré la balise "apache-2.2" puisque la syntaxe que vous avez publiée est de 2.4.
De la documentation Apache:
ip.address est une adresse IP, une adresse IP partielle, une paire réseau / masque de réseau ou une spécification CIDR réseau / nnn.
Je suppose que vous voulez autoriser un / 24 car la classe D est des adresses de multidiffusion et le réseautage avec classe est mort dans les années 90. Pour autoriser un / 24, vous pouvez utiliser l'une des options suivantes:
Require ip 123.123.123
Require ip 123.123.123.0/255.255.255.0
Require ip 123.123.123.0/24
Personnellement, je trouve que le dernier est moins ambigu que le premier et plus facile à lire que le second.
Vous pouvez trouver cette section de la documentation utile: http://httpd.apache.org/docs/2.4/howto/access.html#host
Require
a un soutien limité dans Apache 2.2, Apache 2.2 ne supporte pas non plusRequire ip
ou<RequireAny>
. Comme indiqué dans la vue d'ensemble des nouvelles fonctionnalités d'Apache HTTP Server 2.4 , "la logique d'autorisation avancée peut désormais être spécifiée à l'aide de laRequire
directive et des directives de conteneur associées, telles que<RequireAll>
." Les premiers font partie des améliorations ajoutées à Apache 2.4.Dans Apache 2.2 et versions antérieures, vous pouvez travailler avec:
dans votre .htacess, directement au niveau de base (pas dans aucun
<directive>
).À partir d'Apache 2.4 et supérieur, c'est parti:
(tous les chiffres sont fictifs, pas de soucis ;-).
J'utilise cela depuis de nombreuses années maintenant, pour protéger mes dossiers backend contre 99% des utilisateurs potentiels. (Fonctionne très bien, sauf si vous êtes un blogueur passionné en voyage. Si vous êtes un utilisateur de Gmail: le lien "dernière activité du compte" tout en bas est un moyen confortable de comprendre vos propres "habbits IP").
la source
Require ip 2a02:4126:2aa4::/48
etRequire ip 2a02:4126:2aa4::
? Les deux ne produisent pas d'erreurs de syntaxe pour moi, mais seulement les travaux précédents.Notant que vous avez maintenant confirmé en utilisant Apache 2.2 , Apache 2.2 ne supporte pas non plus
Require ip
ou<RequireAny>
. Comme indiqué dans la vue d'ensemble des nouvelles fonctionnalités d'Apache HTTP Server 2.4 , "la logique d'autorisation avancée peut désormais être spécifiée à l'aide de laRequire
directive et des directives de conteneur associées, telles que<RequireAll>
." Les premiers font partie des améliorations ajoutées à Apache 2.4.Pour gérer cela dans Apache 2.2, vous devrez probablement faire quelque chose comme:
qui obtiendra toute la plage spécifiée.
la source
Remarque: je laisse ceci ici car d'autres pourraient en bénéficier; ce n'est pas une réponse directe à la question.
Par exemple:
Nécessite l'ip 192.168.100.0/22
fonctionne, tandis que
Nécessite l'ip 192.168.100.0/22 #localnetwork
échoue!
Redémarrage des sorties httpd:
Le travail pour httpd.service a échoué car le processus de contrôle s'est terminé avec un code d'erreur. Voir "systemctl status httpd.service" et "journalctl -xe" pour plus de détails.
Il semble donc qu'aucun commentaire ne soit autorisé sur cette ligne .
la source
La directive Require d'Apache est utilisée pendant la phase d'autorisation pour garantir qu'un utilisateur est autorisé ou refusé l'accès à une ressource. mod_authz_host étend les types d'autorisation avec ip, host, forward-dns et local. D'autres types d'autorisation peuvent également être utilisés mais peuvent nécessiter le chargement de modules d'autorisation supplémentaires.
Ces fournisseurs d'autorisation affectent les hôtes qui peuvent accéder à une zone du serveur. L'accès peut être contrôlé par le nom d'hôte, l'adresse IP ou la plage d'adresses IP.
Depuis la v2.4.8, les expressions sont prises en charge dans l'hôte nécessitent des directives. Exiger ip
Le fournisseur ip permet de contrôler l'accès au serveur en fonction de l'adresse IP du client distant. Lorsque Exiger ip ip-address est spécifié, la demande est autorisée à accéder si l'adresse IP correspond.
Une adresse IP complète:
Une adresse IP d'un hôte autorisé à accéder
Une adresse IP partielle:
Les 1 à 3 premiers octets d'une adresse IP, pour la restriction de sous-réseau.
Une paire réseau / masque de réseau:
Un réseau abcd et un masque de réseau wxyz Pour une restriction de sous-réseau plus fine.
Une spécification CIDR réseau / nnn:
Similaire au cas précédent, sauf que le masque de réseau se compose de nnn bits de poids fort 1.
Notez que les trois derniers exemples ci-dessus correspondent exactement au même ensemble d'hôtes.
Les adresses IPv6 et les sous-réseaux IPv6 peuvent être spécifiés comme indiqué ci-dessous:
Remarque: Comme les adresses IP sont analysées au démarrage, les expressions ne sont pas évaluées au moment de la demande.
Source: https://httpd.apache.org/docs/trunk/mod/mod_authz_host.html
la source