httpd配置虚拟主机及访问控制
2014-11-08 17:17
531 查看
一、虚拟主机是在一台物理服务器上配置多个站点,有三种实现方法:基于ip,基于端口,基于域名
配置虚拟主机建议在单独一个文件,并在主配置文件使用 include "xxx" 包含进来,这样使配置件更清晰
基于端口:应先在主配置文件中增加一个监听的端口listen 8080
<virtualhost 172.16.168.140:80>
options none
documentroot "/var/www/80"
</virtualhost>
<virtualhost 172.16.168.140:8080>
options none
documentroot "/var/www/8080"
</virtualhost>
2.基于IP:
<virtualhost 172.16.168.150:80>
options none
documentroot "/var/www/ip150"
</virtualhost>
3.基于域名:apatche2.2版本应先在虚拟主机配置文件增加 namevirtualhost 172.16.168.140:80
如果想通过多个域名访问到同一个网站,可以定义多个servername
<virtualhost 172.16.168.140:80>
servername www.a.com
servername www.an.com
options none
documentroot "/var/www/a.com"
</virtualhost>
<virtualhost 172.16.168.140:80>
servername www.b.com
options noe
documentroot "/var/www/b.com"
</virtualhost>
二、配置用户对web资源的访问控制:如果某些资源不想被用户访问,可以通过建立授权让用户访问或根据ip地址进行限制
通过建立授权:
1.使用htpasswd 命令创建用户名和密码文件: htpasswd -c /etc/httpd/conf/htpasswd zzc (注意:当需要创建第二个用户时,去掉-c选项,否则会把第一次创建的用户给清除掉)
<directory "/var/www/secret">
authtype basic
authname "is a sceret..."
authuserfile "/etc/httpd/conf/htpasswd"
require (user abc | valid-user) valid-user指全部用户 user可以指定具体某个用户
</directory>
如果想通过组来管理,需先建立一个组文件:
![](http://s3.51cto.com/wyfs02/M00/4D/F7/wKiom1Rd25Sj65pSAAAa1LzyUD4957.jpg)
然后在文件中写上组名和已经(使用htpasswd)创建好的用户:
![](http://s3.51cto.com/wyfs02/M01/4D/F6/wKioL1Rd3JaRBY8BAAAW40-im9Q144.jpg)
最后在<directory>中增加下面两条命令:
authgroupfile "/etc/httpd/conf/htgroup"
require group myuser
通过限定ip地址:
<directory "/var/www/secret“>
order deny,allow
deny from 192.168.100.1
</directory>
order指定 先拒绝后允许 或 先允许后拒绝
先拒绝后允许:默认允许,如果不指定拒绝的地址将允许所有地址
先允许后拒绝:默认拒绝,如果不指定允许的地址将拒绝所有地址
地址可以是 主机名、网段(172.16.0.0 可以简写为172.16)、具体某个ip地址
地址之间用逗号隔开
配置虚拟主机建议在单独一个文件,并在主配置文件使用 include "xxx" 包含进来,这样使配置件更清晰
基于端口:应先在主配置文件中增加一个监听的端口listen 8080
<virtualhost 172.16.168.140:80>
options none
documentroot "/var/www/80"
</virtualhost>
<virtualhost 172.16.168.140:8080>
options none
documentroot "/var/www/8080"
</virtualhost>
2.基于IP:
<virtualhost 172.16.168.150:80>
options none
documentroot "/var/www/ip150"
</virtualhost>
3.基于域名:apatche2.2版本应先在虚拟主机配置文件增加 namevirtualhost 172.16.168.140:80
如果想通过多个域名访问到同一个网站,可以定义多个servername
<virtualhost 172.16.168.140:80>
servername www.a.com
servername www.an.com
options none
documentroot "/var/www/a.com"
</virtualhost>
<virtualhost 172.16.168.140:80>
servername www.b.com
options noe
documentroot "/var/www/b.com"
</virtualhost>
二、配置用户对web资源的访问控制:如果某些资源不想被用户访问,可以通过建立授权让用户访问或根据ip地址进行限制
通过建立授权:
1.使用htpasswd 命令创建用户名和密码文件: htpasswd -c /etc/httpd/conf/htpasswd zzc (注意:当需要创建第二个用户时,去掉-c选项,否则会把第一次创建的用户给清除掉)
<directory "/var/www/secret">
authtype basic
authname "is a sceret..."
authuserfile "/etc/httpd/conf/htpasswd"
require (user abc | valid-user) valid-user指全部用户 user可以指定具体某个用户
</directory>
如果想通过组来管理,需先建立一个组文件:
![](http://s3.51cto.com/wyfs02/M00/4D/F7/wKiom1Rd25Sj65pSAAAa1LzyUD4957.jpg)
然后在文件中写上组名和已经(使用htpasswd)创建好的用户:
![](http://s3.51cto.com/wyfs02/M01/4D/F6/wKioL1Rd3JaRBY8BAAAW40-im9Q144.jpg)
最后在<directory>中增加下面两条命令:
authgroupfile "/etc/httpd/conf/htgroup"
require group myuser
通过限定ip地址:
<directory "/var/www/secret“>
order deny,allow
deny from 192.168.100.1
</directory>
order指定 先拒绝后允许 或 先允许后拒绝
先拒绝后允许:默认允许,如果不指定拒绝的地址将允许所有地址
先允许后拒绝:默认拒绝,如果不指定允许的地址将拒绝所有地址
地址可以是 主机名、网段(172.16.0.0 可以简写为172.16)、具体某个ip地址
地址之间用逗号隔开
相关文章推荐
- httpd高级配置(虚拟主机,https,访问控制)
- httpd服务之虚拟主机、访问控制、https配置详解
- httpd虚拟主机配置及基于用户的访问控制
- httpd虚拟主机、站点访问控制、基于用户的访问控制、持久链接等应用配置实例
- httpd服务之虚拟主机、访问控制、https配置
- httpd2.2 虚拟主机、访问控制及https的实现
- Nginx作为WEB服务相关配置(性能优化,网络连接,访问控制,虚拟主机,https等等)
- yum安装的httpd配置多个虚拟主机、配置8080端口、访问phpMyAdmin
- Linux运维笔记-文档总结-Apache基本配置的介绍和语言支持,虚拟主机,访问控制的实现
- httpd服务的访问控制 构建虚拟web主机(基于域名的虚拟主机)
- 构建httpd网站服务器(二) -- httpd服务的访问控制和基于域名、IP、端口的虚拟主机
- Apache 虚拟主机 httpd.conf配置以实现指向项目名直接访问
- http2.2常用配置(虚拟主机,访问控制,压缩,缓存,压力测试)
- linux系统之apache基本配置及语言支持及虚拟主机 访问控制
- Nginx提供网站服务应用包括(虚拟主机、用户访问控制、用户验证、nginx平滑升级、防盗链)的配置
- 运维学习之Apache的配置、访问控制、虚拟主机和加密访问https
- httpd-2.4实现虚拟主机、访问控制及https功能
- www服务的高级配置(用户验证,访问控制,虚拟主机等)
- apache的访问控制和虚拟主机的配置
- **HTTP配置文件详解(访问控制、虚拟主机、DEFLATE、HTTPS配置)**