根據環境變數限制訪問

根據環境變數限制訪問

嘗試變得聰明並允許根據環境變數進行存取。它似乎不起作用(沒有錯誤,表達式總是錯誤的)。


我嘗試過的:

<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 登入並編輯檔案以恢復存取權限。

看到這個問題舉個例子。

相關內容