apache 配置虚拟目录权限问题
2017-07-18 23:35
471 查看
问题描述:使用apache服务器配置几台虚拟主机,但是利用浏览器访问每一个虚拟主机时,页面总是apache服务器的欢迎页面(默认页面)
原因:自己配置虚拟主机的DocumentRoot目录不是/var/www/下的,而是root用户创建的/www/下的目录,而这时SELinux又未关闭,所以导致httpd进程无法访问到/www/目录下的相应虚拟主机目录,从而服务器内部跳转到apache欢迎页。
1、确定apache的执行用户是谁
httpd.conf文件里搜索 User和Group,可以查看对应的用户和组.
需要将其他目录设置为可读取的模式才可以,建议用户在建立虚拟主机目录时,设置权限为apache用户组可读。我的是www
2、httpd只能访问document 目录下的文件,
并且将 deny from all 的deny改成了allow(2.4以下的)
从Apache2.2升级到Apache2.4后,发现原来用来限制部分IP和垃圾网络爬虫的访问控制规则不起作用,查询后才发现,Apache2.4中开始使用mod_authz_host这个新的模块来进行访问控制和其他的授权检查。原来在Apache2.2版本下用以实现网站访问控制的Order,Allow,Deny指令需要替换为新的Require访问控制指令。
apache 2.4权限配置
注意:使用require指令时,需要在指令外添加<RequireAll></RequireAll>标签对,否则重启Apache2.4加载规则时将出现错误:" negative
Require directive has no effect in <RequireAny> directive "。
下面直接给出一些实例对Require指令的使用进行说明:
例1:允许所有访问请求
Apache2.4下的配置:
例2:拒绝所有访问请求
Apache2.4下的配置:
例3:只允许来自特定域名主机的访问请求,其他请求将被拒绝
Apache2.4下的配置:
例4:只允许来自特定IP或IP段的访问请求,其他请求将被拒绝
Apache2.4下的配置:
例5:允许所有访问请求,但拒绝来自特定IP或IP段的访问请求(阻止恶意IP或恶意爬虫网段的访问)
Apache2.4下的配置:
例6:允许所有访问请求,但拒绝某些User-Agent的访问请求(通过User-Agent屏蔽垃圾网络爬虫)
使用mod_setenvif通过正则表达式匹配来访请求的User-Agent,并设置内部环境变量BADBOT,最后拒绝BADBOT的访问请求。
Apache2.4下的配置:
其它require访问控制指令用法如下:
原因:自己配置虚拟主机的DocumentRoot目录不是/var/www/下的,而是root用户创建的/www/下的目录,而这时SELinux又未关闭,所以导致httpd进程无法访问到/www/目录下的相应虚拟主机目录,从而服务器内部跳转到apache欢迎页。
1、确定apache的执行用户是谁
httpd.conf文件里搜索 User和Group,可以查看对应的用户和组.
需要将其他目录设置为可读取的模式才可以,建议用户在建立虚拟主机目录时,设置权限为apache用户组可读。我的是www
2、httpd只能访问document 目录下的文件,
并且将 deny from all 的deny改成了allow(2.4以下的)
从Apache2.2升级到Apache2.4后,发现原来用来限制部分IP和垃圾网络爬虫的访问控制规则不起作用,查询后才发现,Apache2.4中开始使用mod_authz_host这个新的模块来进行访问控制和其他的授权检查。原来在Apache2.2版本下用以实现网站访问控制的Order,Allow,Deny指令需要替换为新的Require访问控制指令。
apache 2.4权限配置
注意:使用require指令时,需要在指令外添加<RequireAll></RequireAll>标签对,否则重启Apache2.4加载规则时将出现错误:" negative
Require directive has no effect in <RequireAny> directive "。
下面直接给出一些实例对Require指令的使用进行说明:
例1:允许所有访问请求
Apache2.4下的配置:
<Directory xxx/www/yoursite> <RequireAll> Require all granted </RequireAll> </Directory>
例2:拒绝所有访问请求
Apache2.4下的配置:
<Directory xxx/www/yoursite> <RequireAll> Require all denied </RequireAll> </Directory>
例3:只允许来自特定域名主机的访问请求,其他请求将被拒绝
Apache2.4下的配置:
<Directory xxx/www/yoursite> <RequireAll> Require host google.com </RequireAll> </Directory>
例4:只允许来自特定IP或IP段的访问请求,其他请求将被拒绝
Apache2.4下的配置:
<Directory xxx/www/yoursite> <RequireAll> Require ip 192.120 192.168.100 192.168.1.1 </RequireAll> </Directory>
例5:允许所有访问请求,但拒绝来自特定IP或IP段的访问请求(阻止恶意IP或恶意爬虫网段的访问)
Apache2.4下的配置:
<Directory xxx/www/yoursite> <RequireAll> Require all granted Require not ip 192.168.1.1 Require not ip 192.120 192.168.100 </RequireAll> </Directory>
例6:允许所有访问请求,但拒绝某些User-Agent的访问请求(通过User-Agent屏蔽垃圾网络爬虫)
使用mod_setenvif通过正则表达式匹配来访请求的User-Agent,并设置内部环境变量BADBOT,最后拒绝BADBOT的访问请求。
Apache2.4下的配置:
<Directory xxx/www/yoursite> SetEnvIfNoCase User-Agent ".*(FeedDemon|JikeSpider|AskTbFXTV|CrawlDaddy|Feedly|Swiftbot|ZmEu|oBot).*" BADBOT SetEnvIfNoCase User-Agent "brandwatch" BADBOT SetEnvIfNoCase User-Agent "rogerbot" BADBOT <RequireAll> Require all granted Require not env BADBOT Require not ip 192.168.100.1 </RequireAll> </Directory>
其它require访问控制指令用法如下:
Require all granted #允许所有 Require all denied #拒绝所有 Require env env-var [env-var] ... #允许匹配环境变量中任意一个 Require method http-method [http-method] ... #允许特定的HTTP方法(GET/POST/HEAD/OPTIONS) Require expr expression #允许,表达式为true Require user userid [ userid ] ... #允许特定用户 Require group group-name [group-name] ... #允许特定用户组 Require valid-user # #允许,有效用户 Require ip 192.100 192.168.100 192.168.100.5 #允许特定IP或IP段,多个IP或IP段间使用空格分隔
相关文章推荐
- 关于apache配置虚拟主机后仍打开默认Apache目录的问题
- 关于apache配置虚拟主机后仍打开默认Apache目录的问题
- IIS7虚拟目录出现HTTP错误500.19(由于权限不足而无法读取配置文件)的问题
- 关于【apache- tomcat- 5.5.15/conf /Catalina/localhost配置虚拟目录】时的一些问题。(配置web项目的方式不止一种,虚拟目录就是一个)
- Linux下Apache虚拟主机目录权限问题
- Apache虚拟目录的配置问题
- A网站引用B服务器虚拟目录文件导致:网站部署到IIS7上出现HTTP 错误 500.19(由于权限不足而无法读取配置文件)的问题
- IIS7虚拟目录出现HTTP错误500.19(由于权限不足而无法读取配置文件)的问题
- IIS7虚拟目录出现HTTP错误500.19(由于权限不足而无法读取配置文件)的问题
- Centos解决Apache配置虚拟主机问题。Apache欢迎页可以打开,但是网站目录定位不上
- 关于【apache- tomcat- 5.5.15/conf /Catalina/localhost配置虚拟目录】时的一些问题。(配置web项目的方式不止一种,虚拟目录就是一个)
- 13、Apache中虚拟目录和目录权限配置
- CentOS 下apache基于域名的多虚拟主机配置问题
- apache vhost 虚拟配置问题
- Apache配置虚拟目录和多主机头
- apache虚拟目录配置
- Ubuntu 配置Apache虚拟目录 .
- apache配置虚拟主机及虚拟目录
- apache配置网站目录的读写权限
- jboss 的一些配置(端口,虚拟目录,虚拟主机,中文问题,数据库连接)