Fácil. Simplemente configure algo como esto dentro de su configuración principal o su configuración virtual:
<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>
La <Directory></Directory>declaración básicamente dice: "Use estas reglas para cualquier cosa en este directorio. Y por "este directorio" que se refiere a lo /var/www/path/to/your/web/documentsque he establecido en este ejemplo, pero debe cambiarse para que coincida con la ruta del directorio local de su sitio.
A continuación, dentro del <Directory></Directory>área, está cambiando el comportamiento predeterminado de Apache, que Allowes todo por defecto Order Deny,Allow. A continuación, establece Deny from alldesde niega el acceso de todos. Follwing que son las Allow fromdeclaraciones que permiten el acceso desde 127.0.0.1 ::1(dirección IP localhost), localhost(el propio host local). Eso es todo lo estándar. Dado que el acceso desde localhostes necesario para muchos procesos internos del sistema.
Lo que sigue es lo que te importa.
Tanto Allow frompara permitir 192.168como 10para permitir el acceso desde cualquiera / todas las direcciones de red dentro del rango de red prefijado por esos números.
Entonces, al indicar 192.168eso, básicamente significa si un usuario tiene una dirección como 192.168.59.27o 192.168.1.123podrá ver el sitio web.
Y de manera similar, usar el prefijo Allow fromfor 10garantiza que si alguien tiene una dirección IP 10.0.1.2o incluso 10.90.2.3podrá ver el contenido.
Casi todas las redes internas en el mundo usan el 192.168rango o algo en el 10rango. Nada externo Por lo tanto, usar este combo logrará su objetivo de bloquear el acceso al mundo exterior, pero solo permitirá el acceso desde su red local.