2016-07-31 41 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