![Restringir el acceso dependiendo de la variable de entorno](https://rvso.com/image/668769/Restringir%20el%20acceso%20dependiendo%20de%20la%20variable%20de%20entorno.png)
Intentando ser inteligente y permitir el acceso dependiendo de una variable de entorno. No parece funcionar (no hay errores, la expresión siempre es falsa).
Lo que probé:
<VirtualHost *:80>
...
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
<If "reqenv('ENVIRONMENT_STATE') == 'dev'">
allow from 1.22.333.0/24
deny from all
</If>
<Else>
allow from all
</Else>
</Directory>
</VirtualHost>
Comportamiento esperado:
Si ENVIRONMENT_STATE
está configurado en 'dev'
, restringirá todo el acceso excepto el de la IP mencionada.
Fuentes:
http://httpd.apache.org/docs/2.4/mod/core.html#else
https://httpd.apache.org/docs/2.4/expr.html
Respuesta1
Usaría el archivo .htaccess para restricciones de IP. Las razones son:
- Puedes controlarlo en origen.
- No es necesario reiniciar el servidor al agregar o eliminar direcciones IP.
- Si accidentalmente se bloquea, siempre puede ingresar por FTP y editar el archivo para restaurar el acceso.
Mira estopreguntapara un ejemplo.