Apache 2.4 配置http代理及认证
一、apache下载安装
- windows:https://www.apachehaus.com/cgi-bin/download.plx
- linux : http://directory.apache.org/studio/download/download-linux.html
- 安装可以参考自带
readme_first.html
二、配置注意事项
本次测试以Windows系统为例。步骤如下:
-
1、配置
Apache24/bin/httpd.conf
文件中服务器根路径
-
2、使用
htpasswd.exe
生成密码文件以及用户组文件:htpasswd.exe -c password.file username
-
3、记事本新建用户组文件 ,
group.file
-
4、配置代理端口 1234
-
5、 增加认证配置,2.4没有Order了
ProxyRequests On
ProxyVia Block
<Proxy *>
AuthType Basic
AuthName "Restricted Resource"
AuthUserFile "${SRVROOT}/conf/password.file"
AuthGroupFile "${SRVROOT}/conf/group.file"
<RequireAny>
Require all denied
Require group usergroup
</RequireAny>
</Proxy>
ProxyVia Block
可以删除返回包中的via头,避免信息泄露,如果为ProxyVia On
的话返回包如下:
AuthName
是认证时的提示,有些某些浏览器不会提示,但必须设置。
RequireAny
中设置先拒绝所有访问,再允许用户组文件中的用户访问。成功开启代理,配置测试如下:
三、一些补充
- AllowOverride参数就是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略.htacess文件,如果设置为All,那么所有在.htaccess文件里有的指令都将被重写。
- 授权容器指令
授权容器指令 | 说明 |
---|---|
<RequireAll> </RequireAll> | 在此元素中包含的规则,拒绝优先执行 |
<RequireAny></RequireAny> | 在此元素中包含的规则,允许优先执行 |
<RequireNone> <RequireNone/> | 授权指令中的任何一个都必须成功才能使封闭指令不失败,永远不会返回成功的结果 |
四、参考链接
- https://www.cnblogs.com/liluxiang/p/9450826.html
- https://blog.csdn.net/wangkepermit/article/details/72954976
- https://www.cnblogs.com/wcwnina/p/8029156.html
- https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#requireany
- https://blog.51cto.com/fanqie/1576811
- https://blog.csdn.net/xiaoyi23000/article/details/79914842
- https://blog.csdn.net/xiaoyi23000/article/details/79914842
- https://www.cnblogs.com/zemliu/archive/2012/04/18/2454655.html
- https://www.it1352.com/213388.html
- https://www.it1352.com/213388.html