lep*_*epe 24 apache authentication basic-authentication
问题:我在/ var/www/files /下有一些文件,我希望从特定的IP地址访问它们而不需要用户/密码.但是,我希望任何其他IP地址都应该要求登录才能获得访问权限.
这是在我的httpd.conf中:
<Directory /var/www/files/>
Order deny,allow
Deny from all
Allow from 192.168
AuthUserFile /etc/apache2/basic.pwd
AuthName "Please enter username and password"
AuthType Basic
Require user valid-user
</Directory>
Run Code Online (Sandbox Code Playgroud)
但是,如果我理解正确,这意味着任何来自192.168.*的客户端都可以访问该目录,但是需要有效用户才能查看其内容.任何其他IP地址都将被拒绝.对?
先感谢您.
Bri*_*ith 47
这就是Apache 2.4+的完成方式(因为Satisfy Any不再支持).
<Directory /var/www/files/>
AuthType Basic
AuthName "Please enter your username and password"
AuthUserFile /var/www/files/.htpasswd
<RequireAny>
Require ip 22.33.44.55
Require valid-user
</RequireAny>
</Directory>
Run Code Online (Sandbox Code Playgroud)
如果您想同时要求IP地址 - 和 - 登录/密码,请更改<RequireAny>为<RequireAll>
我希望这对某人有所帮助 - 因为我花了一段时间才弄明白.
Wri*_*ken 13
编辑:这可能是接受的答案,但旧的.对于新的Apache安装,请在此处使用Brians答案
添加这个:( Satisfy Any这意味着应该传递这两个中的任何一个).
语法是:
Require valid-user
Run Code Online (Sandbox Code Playgroud)
要么:
Require user <userid>
Run Code Online (Sandbox Code Playgroud)
如果您的服务器在代理后面,则不能Require ip直接依赖。但是,您可以使用Require env:
<Directory /var/www/files/>
AuthType Basic
AuthName "Please enter your username and password"
AuthUserFile /var/www/files/.htpasswd
SetEnvIF X-Forwarded-For "22.33.44.55" AllowIP
<RequireAny>
Require env AllowIP
Require valid-user
</RequireAny>
</Directory>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20723 次 |
| 最近记录: |