Dom*_*omi 1 apache localhost mod-auth
我有一个非常简单的.htaccess文件:
<RequireAll>
Require all granted
# require localhost
Require ip 127.0.0.1
</RequireAll>
Run Code Online (Sandbox Code Playgroud)
它有效......有时!
有时,它会给我一个 403,error.log解释如下:
[客户端 :: 1:65443] AH01630:客户端被服务器配置拒绝
为什么它不会将该本地客户端与Require ip 127.0.0.1规则匹配?
事实证明,Apache 2.4 的Require与 IP完全匹配。如果您有多个 IP 地址 aliasing localhost,则需要列出所有IP 地址(或使用特殊别名,如果存在,如下所述)。
在这种特殊情况下,该error.log条目揭示了一切:通过IPv6接口 (ip == ::1)连接的客户端。这也需要列入白名单:
<RequireAll>
Require all granted
# require localhost
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</RequireAll>
Run Code Online (Sandbox Code Playgroud)
非常欢迎任何关于是否有更简单/更安全的方法来完成这项工作的建议!
更新
正如Helge Klein 所建议的,Require local是要走的路:
<RequireAll>
Require all granted
# require localhost
Require local
</RequireAll>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7066 次 |
| 最近记录: |