Erstens gehe ich davon aus, dass Sie Apache 2.4 trotz des "apache-2.2" -Tags meinen, da die Syntax, die Sie gepostet haben, von 2.4 ist.
Aus der Apache-Dokumentation:
ip.address ist eine IP-Adresse, eine Teil-IP-Adresse, ein Netzwerk / Netzmasken-Paar oder eine Netzwerk / nnn-CIDR-Spezifikation.
Ich nehme an, Sie meinen, Sie möchten eine / 24 zulassen, da Klasse D Multicast-Adressen sind und klassisches Networking in den 90er Jahren verstarb. Um eine / 24 zuzulassen, können Sie eine der folgenden Optionen verwenden:
Require ip 123.123.123
Require ip 123.123.123.0/255.255.255.0
Require ip 123.123.123.0/24
Persönlich finde ich das Letzte weniger zweideutig als das Erste und leichter zu lesen als das Zweite.
Sie finden diesen Abschnitt der Dokumentation möglicherweise hilfreich: http://httpd.apache.org/docs/2.4/howto/access.html#host
Require
Apache 2.2 nur eingeschränkte Unterstützung bietet, unterstützt Apache 2.2 wederRequire ip
noch<RequireAny>
. Wie in der Übersicht der neuen Funktionen in Apache HTTP Server 2.4 erwähnt , kann die erweiterte Berechtigungslogik jetzt mithilfe derRequire
Direktive und der zugehörigen Container-Direktiven angegeben werden, z<RequireAll>
. Ersteres gehört zu den Verbesserungen, die Apache 2.4 hinzugefügt hat.In Apache 2.2 und darunter können Sie arbeiten mit:
in Ihrer .htacess, direkt auf der Basisebene (nicht in einer
<directive>
).Ab Apache 2.4 und höher:
(alle zahlen fiktiv, keine sorge ;-).
Ich benutze dies seit vielen Jahren, um meine Backend-Ordner gegen 99% der potenziellen Benutzer abzuschirmen. (Funktioniert sehr gut, es sei denn, Sie sind ein begeisterter Blogger auf Reisen. Wenn Sie ein Google Mail-Nutzer sind: "Letzte Kontoaktivität" Der Link ganz unten ist eine bequeme Methode, um Ihre eigenen "IP-Gewohnheiten" herauszufinden.)
quelle
Require ip 2a02:4126:2aa4::/48
undRequire ip 2a02:4126:2aa4::
? Beide erzeugen für mich keine Syntaxfehler, sondern nur die ersteren funktionieren.Anbetracht dessen , dass Sie jetzt 2.2 mit Apache bestätigt haben , Apache 2.2 nicht unterstützt entweder
Require ip
oder<RequireAny>
. Wie in der Übersicht der neuen Funktionen in Apache HTTP Server 2.4 erwähnt , kann die erweiterte Berechtigungslogik jetzt mithilfe derRequire
Direktive und der zugehörigen Container-Direktiven angegeben werden, z<RequireAll>
. Ersteres gehört zu den Verbesserungen, die Apache 2.4 hinzugefügt hat.Um mit diesem Problem in Apache 2.2 fertig zu werden, müssen Sie wahrscheinlich Folgendes tun:
Damit wird der gesamte Bereich angegeben.
quelle
Hinweis: Ich lasse dies hier, da andere davon profitieren könnten. Es ist keine direkte Antwort auf die Frage.
Beispielsweise:
IP 192.168.100.0/22 erforderlich
funktioniert, während
IP 192.168.100.0/22 #localnetwork erforderlich
scheitert!
Neustart der httpd-Ausgaben:
Der Auftrag für httpd.service ist fehlgeschlagen, da der Steuerprozess mit Fehlercode beendet wurde. Weitere Informationen finden Sie unter "systemctl status httpd.service" und "journalctl -xe".
Es scheint also, dass in dieser Zeile keine Kommentare erlaubt sind .
quelle
Die Require- Direktive von Apache wird während der Autorisierungsphase verwendet, um sicherzustellen, dass einem Benutzer der Zugriff auf eine Ressource gestattet oder verweigert wird. mod_authz_host erweitert die Berechtigungsarten um ip, host, forward-dns und local. Andere Autorisierungstypen können ebenfalls verwendet werden, erfordern jedoch möglicherweise das Laden zusätzlicher Autorisierungsmodule.
Diese Berechtigungsanbieter beeinflussen, welche Hosts auf einen Bereich des Servers zugreifen können. Der Zugriff kann über den Hostnamen, die IP-Adresse oder den IP-Adressbereich gesteuert werden.
Seit v2.4.8 erfordern Ausdrücke, die vom Host unterstützt werden, Anweisungen. IP erforderlich
Der IP-Provider ermöglicht die Steuerung des Zugriffs auf den Server anhand der IP-Adresse des Remote-Clients. Wenn IP-Adresse erforderlich angegeben ist, wird der Anforderung der Zugriff gewährt, wenn die IP-Adresse übereinstimmt.
Eine vollständige IP-Adresse:
Eine IP-Adresse eines Hosts erlaubte den Zugriff
Eine teilweise IP-Adresse:
Die ersten 1 bis 3 Bytes einer IP-Adresse zur Einschränkung des Subnetzes.
Ein Netzwerk / Netzmasken-Paar:
Ein Netzwerkabcd und eine Netzmaske wxyz Für eine feinkörnigere Subnetzbeschränkung.
Eine Netzwerk / nnn-CIDR-Spezifikation:
Ähnlich wie im vorherigen Fall, außer dass die Netzmaske aus nnn höherwertigen 1-Bits besteht.
Beachten Sie, dass die letzten drei Beispiele genau mit derselben Gruppe von Hosts übereinstimmen.
IPv6-Adressen und IPv6-Subnetze können wie folgt angegeben werden:
Hinweis: Da die IP-Adressen beim Start analysiert werden, werden Ausdrücke zum Zeitpunkt der Anforderung nicht ausgewertet.
Quelle: https://httpd.apache.org/docs/trunk/mod/mod_authz_host.html
quelle