apache - 在apache中如何要求IP加用户访问URL
问题描述
在带有 ubuntu 的 apache2 中,如何配置特定 IP + 用户只能访问的位置(URL)。我使用下面的代码,但它总是会询问用户名和密码,即使我的 ip 不匹配。如果我的 ip 不匹配,那么它应该阻止(403)我的请求,如果我的 ip 匹配,则询问用户名和密码,如果用户名和密码有效,则在用户可以访问该位置(URL)之后,否则阻止(403)那个位置(网址)。
<Location /secret-url/>
Require ip <IPV4>
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require user <USERNAME>
</Location>
解决方案
我找到了解决方案:
<Location /secret-url/>
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
<RequireAll>
Require ip <IPV4>
Require user <USERNAME>
</RequireAll>
</Location>
如果您想允许请求 ip 有效或用户/密码有效,请更改<RequireAll>
为<RequireAny>
:
<Location /secret-url/>
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
<RequireAny>
Require ip <IPV4>
Require user <USERNAME>
</RequireAny>
</Location>
推荐阅读
- mongodb - 基于索引的嵌套数组元素计数
- mysql - Django - 多选框 - 将更改保存到数据库
- java - 如何测试是否在代码路径中引发和处理了异常?
- oracle - 创建触发器时的 PL/SQL 问题
- sql - SQL合并重叠时间间隔
- keyboard-shortcuts - 如何在 VS 2019 中跳转到匹配的大括号?
- excel - 根据可变成本和固定成本之间的分割在excel中对单元格进行着色 - 可能吗?
- java - weblogic中处于RUNNABLE状态的线程
- c# - 保存对象的休眠顺序
- python - flask send_from_directory 导致 TypeError: '<' not supported 在 'str' 和 'int' 的实例之间