2016-07-31 34 views
0

我用用有效的用戶或IP的指令,像下面來阻止訪問我的Apache服務器的某個文件夾的IP(X - 轉發,對於)或有效的用戶:Apache的訪問控制

<Directory "/home/domain/public_html/secure"> 
    Require ip x.x.x.x 
    Require ip y.y.y.y 
    AuthType Basic 
    AuthUserFile "/home/domain/secure/pass" 
    AuthName "Authentication Required" 
    Require valid-user 
    Satisfy Any 
</Directory> 

現在,我已將我的服務器放在一臺F5-BIGIP設備後面,它不會讓我完全使用DNAT客戶端的連接。該設備也在作爲DNAT/SNAT規則的網關的Linux服務器後面工作。不過,我可以通過X-Forwarded_For登錄客戶端的IP地址。但是我的Apache指令不再工作了。

所以我的問題是,有什麼辦法可以使用像Require X-Forwarded-For x.x.x.x

我的Apache的版本是:提前

[[email protected] ~]# apachectl -version 
Server version: Apache/2.4.6 (CentOS) 
Server built: May 12 2016 1 

○時27分23秒

感謝。

回答

0

你應該能夠做這樣的事情:

SetEnvIf X-Forwarded-For x.x.x.x$ foo 
SetEnvIf X-Forwarded-For y.y.y.y$ bar 
... 
Require env foo 
Require env bar 
+0

感謝@杜桑 - Bajic,它的工作就像一個魅力。 – sevillo