012-httpd2.4(CentOS 7) new features config
install
[root@husa ~]# yum install httpd
config files
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.modules.d/*.conf
/etc/httpd/cond.d/*.conf
config details
切换使用的MPM
编辑配置文件/etc/httpd/conf.modules.d/00-mpm.con,启用需要启用的MPM相关的LoadModule
修改DocumentRoot
编辑配置文件/etc/httpd/httpd.conf文件中的DocumentRoot指令
欢迎页
欢迎页是没有配置任何站点时httpd服务器默认的页面,删除之即可。
mv /etc/httpd/conf.d/welcome.conf{,.bak}
基于IP的访问控制
允许所有主机访问:Require all granted
拒绝所有主机访问:Require all denied
控制特定的IP访问:
Require ip IPADDR:授权指定来源的IP访问
Require not ip IPADDR:拒绝指定来源的IP访问
控制特定的主机访问:
Require host HOSTNAME:授权指定来源的主机访问
Require not host HOSTNAME:拒绝指定来源的主机访问
HOSTNAME:
FQDN:特定主机
domin.tld:指定域名下的所有主机
对于IP访问控制的设置需要定义在一个新的容器中,一般是下面的样子
<Directory "/var/www/html">
<RequireAll>
Require all granted
Require not ip 192.168.200.128 #ArchLinux 依然能够访问
Require not ip 172.16.249.207 #CentOS 6 不能访问
</RequireAll>
</Directory>
使用CentOS 6访问CentOS 7的httpd服务
[root@localhost ~]# curl http://172.16.249.206
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access / #此处httpd服务器拒绝访问
on this server.</p>
</body></html>
在这里我浪费了大量的时间,原因在于我想使用ArchLinux的Chromium访问,但是无奈ArchLinux的ip即使被禁止也还是能够访问,出现这种情况的原因在于ArchLinux使用的VMware的NAT连接方式,导致即使被禁依然能够访问…
虚拟主机
基于FQDN的虚拟主机也不再需要NameVirtualHost指令
<VirtualHost *:80>
ServerName www.withshirley.com
DocumentRoot "/web/html"
<Directory "/web/html">
Options None
AllowOverride None
Require all granted #显示授权
</Directory>
</VirtualHost>
httpd-2.4中只有显示授权才可以访问
持久链接
持久连接由于httpd-2.4的新特性,可以支持到毫秒级别
KeepAlive on
KeepAliveTimeout #ms
KeepAliveMaxRequests #