基本概括
关键词Server
ServerRoot "/etc/httpd" #apache软件安装的位置
Listen 80 #监听的端口号
ServerName www.test.com:80 #网站的名字
ServerAdmin #管理员的邮件地址
DocumentRoot "/var/www/html" #站点的网页存储位置
主站点的目录访问控制解析
1 <Directory "/var/www/html"> 2 Options FollowSymLinks Indexes 3 AllowOverride None 4 Order allow,deny 5 (Allow from all) #httpd2.2版本 6 Require all granted 7 </Directory>
在这段代码中的内容每一个开头都是一个属性 而后面的都是配置该属性的选项
1. Options 配置特定目录要使用的特性
- FollowSymLinks 在该目录下允许文件系统使用符号连接
符号链接:相当于可以使用url定位资源
- indexes 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。
如果为了网站安全可以在indexes前加一个 '-' (-indexes) 或直接删除indexes选项
- ExecCGI 在该目录下允许执行CGI脚本
- SymLinksIfOwnerMatch 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问
- Includes 允许服务器端包含功能
- IncludesNoExec 允许服务器端包含功能,但禁止执行CGI脚本
2.AllowOverride 允许存在于.htaccess文件中的指令类型
- None 不搜索该目录下的.htaccess文件,减少开销
- ALL 在.htaccess文件中可以使用所有的指令
关于.htaccess文件的作用这里给个友情链接
apache .htaccess文件详解和配置技巧总结 - 恩恩先生 - 博客园 (cnblogs.com)
3.Order 控制在访问时Allow和Deny两个访问规则哪个优先 (httpd-2.2版本)
- Allow 允许访问的主机列表(可用域名或子网)
用法 : Allow from 192.168.245.0/24 Allow from all
- Deny 拒绝访问的主机列表
4. Require all granted (httpd2.4版本)
此为http-2.4中的允许所有人访问的格式。除此还可以禁止某个IP或域名的访问
Require not ip 1.1.1.1
Require not host host.example.com
Require all denied #禁止访问
安全加固
1. 隐藏apache的版本信息
ServerTokens
1 #仅软件名称,例如:apache 2 ServerTokens Prod 3 4 包括主版本号,例如:apache/2 5 ServerTokens Major 6 7 #包括次版本号,例如:apache/2.0 8 ServerTokens Minor 9 10 #仅apache的完整版本号,例如:apache/2.0.54 11 ServerTokens Min 12 13 #包括操作系统类型,例如:apache/2.0.54(Unix) 14 ServerTokens OS 15 16 #包括apache支持的模块及模块版本号,例如:Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.7g 17 ServerTokens Full
ServerSignature off /on
在文末添加即可
标签:centos,ServerTokens,配置,访问,htaccess,Allow,apache,2.0,apache2.4 From: https://www.cnblogs.com/lisenMiller/p/17159009.html