Tentando ser inteligente e permitir acesso dependendo de uma variável de ambiente. Parece não funcionar (sem erros, a expressão é sempre falsa).
O que eu tentei:
<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>
Comportamento esperado:
Se ENVIRONMENT_STATE
estiver definido como 'dev'
, restrinja todo o acesso, exceto o IP mencionado.
Fontes:
http://httpd.apache.org/docs/2.4/mod/core.html#else
https://httpd.apache.org/docs/2.4/expr.html
Responder1
Eu usaria o arquivo .htaccess para restrições de IP. As razões são:
- Você pode controlá-lo.
- Não é necessário reiniciar o servidor ao adicionar ou remover endereços IP.
- Se você acidentalmente se bloquear, poderá sempre entrar por FTP e editar o arquivo para restaurar o acesso.
Veja issoperguntaPor exemplo.