Moje zmiany IP mają inną klasę D, więc chcę ustawić zakres:
123.123.123.xxx, gdzie ostatnim segmentem może być 0-255.
W tej chwili Apache mówi:
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
źródło
Moje zmiany IP mają inną klasę D, więc chcę ustawić zakres:
123.123.123.xxx, gdzie ostatnim segmentem może być 0-255.
W tej chwili Apache mówi:
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
Po pierwsze, zakładam, że masz na myśli Apache 2.4 pomimo znacznika „apache-2.2”, ponieważ składnia, którą opublikowałeś, pochodzi z wersji 2.4.
Z dokumentacji Apache:
ip.address to adres IP, częściowy adres IP, para sieć / maska sieci lub specyfikacja CIDR sieci / nnn.
Zakładam, że masz na myśli, że chcesz zezwolić na / 24, ponieważ klasa D to adresy multiemisji, a klasowe sieci zmarły w latach 90-tych. Aby zezwolić na a / 24, możesz użyć dowolnego z poniższych:
Require ip 123.123.123
Require ip 123.123.123.0/255.255.255.0
Require ip 123.123.123.0/24
Osobiście uważam, że ostatni jest mniej dwuznaczny niż pierwszy i łatwiejszy do odczytania niż drugi.
Ta sekcja dokumentacji może być przydatna: http://httpd.apache.org/docs/2.4/howto/access.html#host
Require
ma ograniczone wsparcie w Apache 2.2, Apache 2.2 nie obsługuje alboRequire ip
albo<RequireAny>
. Jak zauważono w Omówieniu nowych funkcji serwera Apache HTTP Server 2.4 , „Można teraz określić zaawansowaną logikę autoryzacji za pomocąRequire
dyrektywy i powiązanych dyrektyw kontenerowych, takich jak<RequireAll>
”. Te pierwsze należą do ulepszeń dodanych do Apache 2.4.W Apache 2.2 i niższych możesz pracować z:
w twoim .htacess, bezpośrednio na poziomie podstawowym (nie w ramach żadnego
<directive>
).Począwszy od Apache 2.4 i nowszych, proszę:
(wszystkie liczby fikcyjne, bez obaw ;-).
Używam tego od wielu lat, aby chronić moje foldery zaplecza przed 99% potencjalnych użytkowników. (Działa bardzo dobrze, chyba że jesteś zapalonym blogerem podczas podróży. Jeśli jesteś użytkownikiem Gmaila: „ostatnia aktywność na koncie” Link na samym dole to wygodny sposób na wykrycie własnych „nawyków związanych z IP”).
źródło
Require ip 2a02:4126:2aa4::/48
iRequire ip 2a02:4126:2aa4::
? Oba nie powodują dla mnie błędów składniowych, ale działają tylko te pierwsze.Biorąc pod uwagę, że potwierdziłeś używanie Apache 2.2 , Apache 2.2 nie obsługuje ani,
Require ip
ani<RequireAny>
. Jak zauważono w Omówieniu nowych funkcji serwera Apache HTTP Server 2.4 , „Można teraz określić zaawansowaną logikę autoryzacji za pomocąRequire
dyrektywy i powiązanych dyrektyw kontenerowych, takich jak<RequireAll>
”. Te pierwsze należą do ulepszeń dodanych do Apache 2.4.Aby poradzić sobie z tym w Apache 2.2, prawdopodobnie będziesz musiał zrobić coś takiego:
który uzyska cały określony zakres.
źródło
Uwaga: zostawiam to tutaj, ponieważ inni mogą z tego skorzystać; nie jest to bezpośrednia odpowiedź na pytanie.
Na przykład:
Wymagaj adresu IP 192.168.100.0/22
działa, podczas gdy
Wymagaj adresu IP 192.168.100.0/22 #localnetwork
zawodzi!
Ponowne uruchamianie wyjść httpd:
Zadanie dla usługi httpd.service nie powiodło się, ponieważ proces kontroli zakończył się z kodem błędu. Zobacz „systemctl status httpd.service” i „journalctl -xe”, aby uzyskać szczegółowe informacje.
Wygląda więc na to, że komentarze w tej linii nie są dozwolone .
źródło
Dyrektywa Wymagaj Apache jest używana podczas fazy autoryzacji, aby zapewnić, że użytkownik ma dostęp lub nie ma dostępu do zasobu. mod_authz_host rozszerza typy autoryzacji o ip, host, forward-dns i local. Można także zastosować inne typy autoryzacji, ale może to wymagać załadowania dodatkowych modułów autoryzacji.
Ci dostawcy autoryzacji wpływają na to, które hosty mogą uzyskać dostęp do obszaru serwera. Dostęp może być kontrolowany przez nazwę hosta, adres IP lub zakres adresów IP.
Od wersji 2.4.8 wyrażenia są obsługiwane przez hosta wymagają dyrektyw. Wymagaj ip
Dostawca ip umożliwia kontrolę dostępu do serwera na podstawie adresu IP zdalnego klienta. Po określeniu Wymagaj adresu IP ip żądanie może uzyskać dostęp, jeśli adres IP jest zgodny.
Pełny adres IP:
Adres IP hosta dozwolonego dostępu
Częściowy adres IP:
Pierwsze 1 do 3 bajtów adresu IP dla ograniczenia podsieci.
Para sieć / maska sieci:
Sieć abcd i maska sieci wxyz Aby uzyskać bardziej szczegółowe ograniczenie podsieci.
Specyfikacja CIDR sieci / nnn:
Podobnie jak w poprzednim przypadku, z tym że maska sieci składa się z nnn 1-bitowego rzędu.
Pamiętaj, że trzy ostatnie przykłady powyżej odpowiadają dokładnie temu samemu zestawowi hostów.
Adresy IPv6 i podsieci IPv6 można określić, jak pokazano poniżej:
Uwaga: Ponieważ adresy IP są analizowane podczas uruchamiania, wyrażenia nie są analizowane w czasie żądania.
Źródło: https://httpd.apache.org/docs/trunk/mod/mod_authz_host.html
źródło