尝试聪明一点,根据环境变量允许访问。但似乎行不通(没有错误,表达式始终为 false)。
我尝试过的:
<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>
预期行为:
如果ENVIRONMENT_STATE
设置为'dev'
,则限制除所提及的 IP 之外的所有访问。
资料来源:
http://httpd.apache.org/docs/2.4/mod/core.html#else
https://httpd.apache.org/docs/2.4/expr.html
答案1
我将使用 .htaccess 文件进行 IP 限制。原因是:
- 您可以对其进行源代码控制。
- 添加或删除 IP 地址时无需重新启动服务器。
- 如果您不小心将自己锁定在外,您可以随时通过 FTP 进入并编辑文件以恢复访问权限。
看到这个问题举个例子。