Leute, die in dieser Antwort landen, beachten bitte, dass dies spezifisch für Apache 2.2 ist.
Apache 2.4 hat diese Anweisungen als veraltet markiert.
Der neue Weg führt über das Modul mod_authz_host
und die Require
Richtlinien. (Link)
In Apache 2.4 sollten Sie das tun
<Directory /var/www/ncp-web/>
Require host localhost
Require ip 127.0.0.1
Require ip 192.168
Require ip 10
</Directory>
, und entfernen Sie alle Allow-Anweisungen.
Einfach. Stellen Sie einfach so etwas in Ihrer Hauptkonfiguration oder Ihrer virtuellen Konfiguration ein:
<Directory /var/www/path/to/your/web/documents>
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 ::1
Allow from localhost
Allow from 192.168
Allow from 10
Satisfy Any
</Directory>
Die <Directory></Directory>
Die Anweisung besagt im Wesentlichen:„Verwenden Sie diese Regeln für alles in diesem Verzeichnis. Und durch „dieses Verzeichnis“, das sich auf /var/www/path/to/your/web/documents
bezieht die ich in diesem Beispiel festgelegt habe, aber geändert werden sollte, damit sie mit dem lokalen Verzeichnispfad Ihrer Website übereinstimmt.
Weiter innerhalb der <Directory></Directory>
Bereich ändern Sie das standardmäßige Apache-Verhalten, das Allow
ist alles standardmäßig auf Order Deny,Allow
. Als nächstes stellen Sie Deny from all
ein from verweigert allen den Zugriff. Darauf folgen die Allow from
Anweisungen, die den Zugriff von 127.0.0.1 ::1
erlauben (IP-Adresse des lokalen Hosts), localhost
(der Localhost selbst). Das ist alles Standardmaterial. Seit Zugriff von localhost
wird für viele interne Systemprozesse benötigt.
Was folgt, ist das, was Ihnen wichtig ist.
Die Allow from
für 192.168
sowie 10
erlaubt den Zugriff von beliebigen/allen Netzwerkadressen innerhalb des Netzwerkbereichs, dem diese Nummern vorangestellt sind.
Also durch Angabe von 192.168
das bedeutet im Grunde, wenn ein Benutzer eine Adresse wie 192.168.59.27
hat oder 192.168.1.123
sie können die Website sehen.
Und ähnlich mit dem Allow from
für 10
Präfix stellt sicher, dass, wenn jemand eine IP-Adresse von 10.0.1.2
hat oder sogar 10.90.2.3
sie können den Inhalt sehen.
So ziemlich alle internen Netzwerke der Welt verwenden entweder den 192.168
Bereich oder etwas in 10
Angebot. Nichts Äußeres. Mit dieser Kombination erreichen Sie also Ihr Ziel, den Zugriff auf die Außenwelt zu blockieren, aber nur den Zugriff innerhalb Ihres lokalen Netzwerks zuzulassen.
Fügen Sie diesen Abschnitt in Ihre virtuelle Host-Direktive ein:
<Location /mypathurl>
Order deny,allow
Deny from all
Allow from 192.168.1.10
</Location>
Ersetzen Sie Ihre IP oben. Dies sollte nicht für die Sicherheit auf finanzieller Ebene verwendet werden, FYI.