![根據環境變數限制訪問](https://rvso.com/image/668769/%E6%A0%B9%E6%93%9A%E7%92%B0%E5%A2%83%E8%AE%8A%E6%95%B8%E9%99%90%E5%88%B6%E8%A8%AA%E5%95%8F.png)
嘗試變得聰明並允許根據環境變數進行存取。它似乎不起作用(沒有錯誤,表達式總是錯誤的)。
我嘗試過的:
<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 登入並編輯檔案以恢復存取權限。
看到這個問題舉個例子。