构建Apache WEB服务器三部曲之三 虚拟主机

简介:

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

wKiom1UYK47h-9GgAAA6YzAF_Yw680.jpg

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

wKiom1UYK8-y6huGAABcPP9_T34382.jpg

建立相应目录和网页内容

wKioL1UYLQqwqbB8AAHyRSnuRwA610.jpg

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

wKiom1UYK9DSYa6JAAAiSl55lvU640.jpg

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

wKioL1UYLQqQJYwrAADEaCRHOOc730.jpg

虚拟主机内容如下

wKioL1UYLTWj6xwYAAK5xA6SO4U995.jpg

客户端访问
虚拟主机1

wKiom1UYK_yDJbcAAACFfhC9IDs116.jpg

虚拟主机2

wKioL1UYLTfD38sdAACPz0xgejY826.jpg

2、 基于IP
添加ip地址192.168.1.22

wKiom1UYLADRL640AARP41Pgrwc192.jpg

新建相关目录及文件

wKioL1UYLWaSVK3NAAGiJo0mhV0013.jpg

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

wKiom1UYLC6xyCRTAAKR0oMrM-s603.jpg

客户端测试
访问192.168.1.2

wKioL1UYLWmwmo3jAAB37pHSoIM228.jpg

访问192.168.1.22

wKiom1UYLC_RY5wjAAB_PkBMxs4219.jpg

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

wKioL1UYLWqBEGKiAAGsuC92Rqs783.jpg

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

wKiom1UYLEyC284QAAJ-VHJTVR4778.jpg

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

wKioL1UYLYaxFeVaAADp7Wsq44s532.jpg

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

wKiom1UYLE-TVvsMAAM5Z15Db1M550.jpg


访问www.a.com

wKioL1UYLYrCAx80AAB46v0gbC8881.jpg

访问www.b.com

wKiom1UYLFGCxaPNAAB6HgNYyAI568.jpg

总结:
当测试基于某一种的(端口、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配置文件后,要重启下服务。

二、 网站加密验证

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

wKioL1UYLb6BI9ESAAJ8uA-9VtA646.jpg

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

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

wKioL1UYLb-RhWPvAAHVV1BVhZY272.jpg

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

wKiom1UYLIWgPApzAAHJB2NIN-g527.jpg

        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),输入账号密码后可以访问。

wKioL1UYLcHB4WYMAAEiAHOlRQs500.jpg

wKiom1UYLImxO6ZSAAD8X8wwyZs270.jpg

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

wKioL1UYLcaRytjeAAJ_NbGnXzg888.jpg


本文转自Jacken_yang 51CTO博客,原文链接:http://blog.51cto.com/linuxnote/1626284,如需转载请自行联系原作者

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
17小时前
|
缓存 监控 API
利用Python构建高性能的Web API后端服务
随着微服务架构的普及和RESTful API的广泛应用,构建高性能、可扩展的Web API后端服务变得尤为重要。本文将探讨如何利用Python这一强大且灵活的语言,结合现代Web框架和工具,构建高效、可靠的Web API后端服务。我们将分析Python在Web开发中的优势,介绍常用的Web框架,并通过实际案例展示如何设计并实现高性能的API服务。
|
1天前
|
前端开发 Java Go
从前端到后端:构建现代化Web应用的技术实践
本文将介绍如何通过前端和后端技术相结合,构建现代化Web应用的技术实践。我们将探讨前端开发、后端架构以及多种编程语言(如Java、Python、C、PHP、Go)在构建高效、可扩展的Web应用中的应用。
|
1天前
|
JavaScript 前端开发 API
Vue中的组件:构建现代Web应用的基石
Vue中的组件:构建现代Web应用的基石
|
1天前
|
前端开发 JavaScript 开发者
深入理解MVC和MVVM:构建现代Web应用的利器
深入理解MVC和MVVM:构建现代Web应用的利器
|
1天前
|
应用服务中间件 网络安全 Apache
构建高性能Web服务器:Nginx vs Apache
【5月更文挑战第16天】Nginx与Apache是两种主流Web服务器,各具优势。Nginx以其轻量级、高并发处理能力和反向代理功能见长,适合大型网站和高并发场景;而Apache以功能丰富、稳定性强闻名,适合企业网站和需要多种Web服务功能的场景。在性能上,Nginx处理高并发更优,Apache则可能在高负载时遭遇瓶颈。在选择时,应根据实际需求权衡。
|
3天前
|
消息中间件 Kafka Apache
Apache Flink 是一个开源的分布式流处理框架
Apache Flink 是一个开源的分布式流处理框架
722 5
|
3天前
|
消息中间件 API Apache
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会
本文整理自阿里云开源大数据平台徐榜江 (雪尽),关于阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会。
1808 2
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会
|
3天前
|
SQL Java API
官宣|Apache Flink 1.19 发布公告
Apache Flink PMC(项目管理委员)很高兴地宣布发布 Apache Flink 1.19.0。
1793 2
官宣|Apache Flink 1.19 发布公告
|
3天前
|
SQL Apache 流计算
Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
【2月更文挑战第25天】Apache Flink官方网站提供了关于如何使用Docker进行Flink CDC测试的文档
348 3
|
3天前
|
Oracle 关系型数据库 流计算
flink cdc 同步问题之报错org.apache.flink.util.SerializedThrowable:如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
438 0

热门文章

最新文章

推荐镜像

更多