Joh*_*ord 119 permissions access-control-list apache-2.2 apache-2.4
我刚刚将我的 Apache 服务器更新为在 Ubuntu 13.04 下运行的 Apache/2.4.6。我曾经有一个 vhost 文件,其中包含以下内容:
<Directory "/home/john/development/foobar/web">
AllowOverride All
</Directory>
Run Code Online (Sandbox Code Playgroud)
但是当我运行时,我得到了一个“禁止。你无权访问 /”
在做了一点谷歌搜索后,我发现要让我的网站再次工作,我需要添加以下行“要求全部授予”,以便我的虚拟主机看起来像这样:
<Directory "/home/john/development/foobar/web">
AllowOverride All
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
我想知道这是否“安全”并且不会带来任何安全问题。我在 Apache 的页面上读到,这“模仿了以前由“全部允许”和“全部拒绝”指令提供的功能。此提供程序可以采用“授予”或“拒绝”的两个参数之一。以下示例将授予或拒绝访问所有请求。”
但它没有说明这是否是某种安全问题,或者为什么我们现在必须这样做,而过去您不必这样做。
Sha*_*den 102
访问控制配置在 2.4 中发生了变化,如果没有一些更改,旧配置将不兼容。见这里。
如果您的旧配置是Allow from all(没有阻止访问服务的 IP 地址),那么Require all granted新的功能是等效的。
Luc*_*ini 26
我知道这是一篇旧帖子,但我认为我可以通过我经常使用的功能示例提供更多帮助!
在 apache 2.2 中会是这样:
<Location />
Order deny, allow
allow from all
</Location>
<Location /adm>
Order deny, allow
deny from all
allow from myniceip
</Location>
<Location /disabled>
Order deny, allow
deny from all
</Location>
Run Code Online (Sandbox Code Playgroud)
在 apache 2.4 中会是这样:
<Location />
require all granted
</Location>
#Note that you dont need to use require all denied
#to require only a group of ips..
<Location /adm>
require ip myniceip
</Location>
<Location /disabled>
Require all denied
</Location>
Run Code Online (Sandbox Code Playgroud)
使用 htacess 身份验证时要小心,这种新语法可能会做一些不好的和意想不到的事情,如果是这种情况,请阅读:https : //unix.stackexchange.com/questions/413309/apache-2-4-wants-me- to-decide-require-valid-ip-or-require-valid-user你应该没问题!
| 归档时间: |
|
| 查看次数: |
268243 次 |
| 最近记录: |