限制依赖于环境变量的访问

限制依赖于环境变量的访问

尝试聪明一点,根据环境变量允许访问。但似乎行不通(没有错误,表达式始终为 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 进入并编辑文件以恢复访问权限。

看到这个问题举个例子。

相关内容