Apache常用配置
1.隐藏Apache版本信息
vim /etc/httpd/conf/httpd.conf
ServerTokens OS //修改为 ServerTokens ProductOnly
ServerSignature On //修改为 ServerSignature Off
apachectl restart
2. 禁止访问网站目录
vim /etc/httpd/conf/httpd.conf
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
//改为
<Directory /var/www/>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
//其实就是将Indexes去掉,Indexes表示若当前目录没有index.html就会显示目录结构。
通过增加Files选项来控制,比如不允许访问 .inc 扩展名的文件,保护php类库:
<Files ~ ".inc$">
Order allow,deny
Deny from all
</Files>
再比如禁止访问图片
<FilesMatch .(?i:gif|jpeg|png)$>
Order allow,deny
Deny from all
</FilesMatch>
禁止访问/var/www目录下的满足该正则的目录
<Directory ~ "^/var/www/(.+/)*[0-9]{3}">
Order allow,deny
Deny from all
</Directory>
目录详解
<Directory> </Directory>
一起用于封装一组指令,使之仅对某个目录及其子目录生效。该指令不能被嵌套使用,也不能出现在<Limit>或<LimitExcept>配置段中。
配置示例:
<Directory “D:/wamp/www”>
Options Indexes FollowSymLinks MultiViews Includes IncludesNOEXEC ExecCGI
AllowOverride None
Order allow, deny
allow from all
</Directory>
指令及其参数说明:
(1)Options:控制在特定目录中将使用哪些服务器特性。
- Indexs:若访问目录下无index文件,则准许显示该目录下的文件列表以供选择。
- FollowSymLinks:准许在目录中使用符号链接到其他目录。
- MultiViews:准许内容协商的“多重视图”。如果客户端请求的路径可能对应多种类型的文件,服务器将根据客户端请求的具体情况自动选择一个最匹配客户端要求的文件。例如只在地址栏输入index也可以访问到index.php页面。
- Includes:准许SSI。
- IncludesNOEXEC:准许SSI,但不可使用exec和include功能。
- ExecCGI:准许在该目录下使用CGI。
- All:表示除了MultiViews之外的所有特性。
- None:表示不启用任何的服务器特性。
注意:如果一个目录被多次设置了options,则最特殊的一个会被完全接受。
(2)AllowOverrid:是否准许文件“.htaccess”中设定的权限覆盖“access.conf”文件中设定的权限。
- All:准许覆盖。
- None:不准许覆盖。
- AuthConfig:允许使用与认证授权相关的指令。
- FileInfo:允许使用控制文档类型的指令、控制文档元数据的指令、mod_rewrite中的指令、mod_actions中的Action指令。
- Indexs:允许使用控制目录索引的指令。
- Limit:允许使用控制主机访问的指令。
(3)Order:控制默认的访问状态和allow、deny指令生效的顺序。
- allow:允许访问。
- deny:拒绝访问。
这两个参数由最后一个出现的参数决定,如“Order allow,deny”默认拒绝了所有的意思(中间有且只有一个逗号),但最终的判断结果还要总下面的allow、deny语句中各自所包含的范围(如果有的话),这两个语句后面都一定接着“from”,否则Apache会无法启动。“Order allow,deny”表示先判断allow语句再判断deny语句。
注意:上面的Order和allow、deny语句是针对Apache2.2的配置,Apache2.4的客户端访问控制由Require语句来配置。
//区别示例:
//拒绝所有请求:
//2.2配置:
Order deny,allow
deny from all
//2.4配置:
Require all denied
//允许所有请求:
//2.2配置:
Order allow,deny
allow from all
//2.4配置:
Require all granted
//只允许某个特定IP的访问:
//2.2配置:
Order deny,allow
deny from all
allow IP-address
//2.4配置
Require host IP-addres
注意:上述内容来自个人开发经验总结并部分引述总结了其它博主的内容
本文介绍了Apache的常用配置,包括隐藏版本信息、禁止访问特定目录和文件类型,以及Options、AllowOverride和Order等指令的详细说明。这些配置有助于增强服务器的安全性和控制权限。对于Apache2.4,重点介绍了Require指令在客户端访问控制中的应用。
776

被折叠的 条评论
为什么被折叠?



