码迷,mamicode.com
首页 > Web开发 > 详细

构建Apache WEB服务器三部曲之三 情景模拟

时间:2015-03-30 06:52:15      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:apache   server   web   linux   网站   

一、 Apache基于端口、IP、域名访问的三种虚拟主机配置方法
注释:
基于端口的时候,IP和域名相同
基于IP的时候,端口和域名相同
基于域名的时候,IP和端口相同
1、 基于端口
[root@jacken ~]# vim /usr/local/apache2/conf/httpd.conf
添加监听8080端口

技术分享

开启子配置文件(辅助虚拟主机文件)

技术分享

建立相应目录和网页内容

技术分享

添加虚拟主机
Vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
注释掉NameVirtualHost *:80

技术分享

如果不注释注释NameVirtualHost * 80,重启服务会报如下错误

技术分享

虚拟主机内容如下

技术分享

客户端访问
虚拟主机1

技术分享

虚拟主机2

技术分享

2、 基于IP
添加ip地址192.168.1.22

技术分享

新建相关目录及文件

技术分享

配置虚拟主机
[root@jacken ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

技术分享

客户端测试
访问192.168.1.2

技术分享

访问192.168.1.22

技术分享

3、 基于域名
新建相关目录及文件

技术分享

修改虚拟主机
[root@jacken ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

技术分享

这一行要启用NameVirtualHost *:80
否则重启服务会报以下错误

技术分享

客户端访问
Win7客户端做hosts解析
C:\Windows\System32\drivers\etc\hosts

技术分享


访问www.a.com

技术分享

访问www.b.com

技术分享

总结:
当测试基于某一种的(端口、IP、域名)时候,尽量把其他的两种虚拟主机配置文件注释掉,避免出现冲突。
使用虚拟主机,务必要开启
/usr/local/apache2/conf/httpd.conf中的Include conf/extra/httpd-vhosts.conf

对于/usr/local/apache2/conf/extra/httpd-vhosts.conf 中的NameVirtualHost *:80
当基于端口的时候
注释掉 #NameVirtualHost *:80
当基于IP的时候
注释掉 #NameVirtualHost *:80
当基于域名的时候
要启用NameVirtualHost *:80
更改apache配置文件后,要重启下服务。

二、 网站加密验证

首先作下链接,方便打开相应文件

技术分享

需求:
只允许IP为192.168.1.253的客户端访问网站,并且只能是定义的用户(账号密码验证)

1、 创建用户及密码(htpasswd –c是创建 一个文件 –m的密码MD5加密,当创建第二个用户的时候应去掉-c,否则会覆盖第一个用户。对于已存在的用户,再次创建,相当于更新密码。)如果没有htpasswd命令,可以安装httpd-tools工具或直接调用
/usr/local/apache2/bin/htpasswd

技术分享

2、修改虚拟主机配置文件
[root@jacken extra]# vim httpd-vhosts.conf

技术分享

        AuthName jiami   提示用户的信息为”jiami”
        AuthType basic    鉴别方法是basic
        AuthUserFile /usr/local/apache2/conf/users 指定验证用户名密码的路径和文件名
        require valid-user 合法用户才能访问(在上边users文件中的用户)
        Order allow,deny 先允许再拒绝
        Allow from 192.168.1.253 只允许IP为192.168.1.253的客户端访问
注:如果想让users中的部分用户可以访问,则 require user user1 user2
用户名之间用空格隔开,只有列出的用户可以访问。

常见代码
Require all granted #允许所有
Require all denied #拒绝所有
Require env env-var [env-var] ... #允许,匹配环境变量中任意一个
Require method http-method [http-method] ... #允许,特定的HTTP方法
Require expr expression #允许,表达式为true
Require user userid [ userid ] ... #允许,特定用户
Require group group-name [group-name] ... #允许,特定用户组
Require valid-user # #允许,有效用户
Require ip 10 172.20 192.168.2 #允许 特定IP

3、客户端访问
Win7客户端访问(win7客户端IP为192.168.1.253),输入账号密码后可以访问。

技术分享

技术分享

Linux无权限访问(linux客户端IP为192.168.1.3)

技术分享



本文出自 “一步步踏入Linux世界” 博客,转载请与作者联系!

构建Apache WEB服务器三部曲之三 情景模拟

标签:apache   server   web   linux   网站   

原文地址:http://linuxnote.blog.51cto.com/9876511/1626284

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!