Web网站服务2.1
Posted 邪痞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web网站服务2.1相关的知识,希望对你有一定的参考价值。
2.2.构建虚拟Web主机
- 虚拟Web主机指的是在同一台服务器中运行多个Web站点,其中的每个站点实际上并不独立占用整个服务器,,因此被称为“虚拟“Web主机
- httpd支持的虚拟主机类型:
- 基于域名:为每个虚拟主机使用不同的域名,但是对应的IP地址是相同的。
- 基于IP地址:为每个虚拟主机使用不同的域名,IP四肢也不相同,这种方式需要为服务器配备多个网络接口,应用范围不广泛
- 基于端口:不适用IP地址和域名来区分不同的站点内容,使用了不同的TCP端口号,因此用户在浏览不同i的虚拟站点时需要指定端口号
- 注意:因不同类型的虚拟主机其区分机制不相同,建议不要同时使用,一面相互混淆
- 2.2.1基于域名的虚拟主机
- 1.为虚拟主机提供域名解析
- 首先要向DNS服务提供商注册虚拟Web站点的域名,以便当访问其中任何一个虚拟Web站点时,最终访问的都是同一个IP地址)——实际支撑所有虚拟Web站点的服务器的IP地址
- 练习:将两个虚拟Web主机www.accp.com和www.benet.com解析为同一个IP地址——173.17.17.11
- 自行搭建DNS服务器,主配置文件named.conf中添加www.accp.com和www.benet.com两个区域;各区域区域数据文件中均设置”www——》173.17.17.11“的A记录,确认客户机能够解析www.accp.com和www.benet.com对应的IP地址;
- 如:在IP地址为173.17.17.2的服务器中构建bind服务,配置参考如下:
- 1.为虚拟主机提供域名解析
-
- 2.为虚拟主机准备网页文档
- 给每个虚拟web主机准备网站目录及网页文档,为了测试方便,为每个虚拟Web主机提供包含不同内容的首页文件
-
-
- 3.添加虚拟主机配置
- 启用基于域名的虚拟Web主机,需要配置以下几个方面
- 虚拟主机区域:使用<VortualHost 监听地址> 此处省略</VirtualHost>区域配置,为每个虚拟Web主机建立独立的配置内容。至少包含虚拟主机的名称,网页根目录的配置项;管理邮箱和访问日志根据实际情况添加
- 目录权限:使用<VirtuallHost 监听地址> 省略</VirtuallHost> 区域配置,为每个虚拟Web主机的网站目录设置访问权限,如允许任何人访问
- 注意:当虚拟Web主机的数量较多时,建议使用独立的虚拟主机配置文件,然后在httpd.conf文件中通过Include加载这些配置项,这样方便维护
-
-
-
-
-
- 4.在客户机访问虚拟Web主机
- 在浏览器中,使用网站名称分别访问不同的虚拟Web主机能够看到不同的网页内容,就成功了。无法看到结果,就要检查两个站点的首页文件
- 4.在客户机访问虚拟Web主机
-
-
-
- 2.2.2基于IP 地址,基于端口的虚拟主机
-
-
-
-
-
- 2.基于端口的虚拟主机
- 基于端口的虚拟主机只用于一个Web站点,针对的IP,网站名称相同的。比如http://www。bdqn.com:8353
- 基于端口的虚拟主机,需要通过多个Listen指定监听端口号,在VirualHost应同时指定IP和端口
- 如:实现当通过80端口访问www.bdqn.com,看到的时正常bdqn站点内容。当通过端口8353访问,可以看到后台管理系统界面;参考以下内容调整httpd服务器的配置
- 2.基于端口的虚拟主机
-
-
-
-
web网站服务
web网站服务实验
实验名称:
web网站访问控制和虚拟主机
二、 实验目的:
http服务的目录授权
虚拟web主机的配置
实验环境:
设备名称 |
系统版本 |
IP地址 |
所需软件 |
Web服务器 |
CentOS-7.3 |
eth0=192.168.10.101 |
Httpd-2.24.25.tar.gz
|
客户端 |
CentOS-7.3 |
eth0=192.168.10.102 |
|
四:实验思路:
安装httpd服务器
httpd服务器的访问控制
虚拟主机:基于ip,基于端口,基于域名
实验过程
一:访问控制(要先装apache,并调试好)
1:客户机地址限制
允许所有主机访问:Require all granted
拒绝所有主机访问:Require all denied
仅允许本地主机访问:Require local
允许或拒绝制定主机访问:Require [not] host
允许或拒绝制定IP或网段访问:Require [not] ip
(1)允许所有主机访问
[root@localhost ~]# vi /usr/local/httpd/conf/httpd.conf
<Directory "/usr/local/httpd/htdocs"> ##225行
Options None
AllowOverride None
Require all granted
</Directory>
[root@localhost ~]# service httpd restart
(2)允许指定IP访问
[root@localhost ~]# vi /usr/local/httpd/conf/httpd.conf
<Directory "/usr/local/httpd/htdocs">
Options None
AllowOverride None
Require ip 192.168.10.102
</Directory>
[root@localhost ~]# service httpd restart
(3)拒绝指定IP访问
<Directory "/usr/local/httpd/htdocs">
Options None
AllowOverride None
<RequireAll>
Require all granted
Require not ip 192.168.10.102
</RequireAll>
</Directory>
[root@localhost ~]# service httpd restart
2:用户授权限制
[root@localhost ~]# cd /usr/local/httpd/
[root@localhost httpd]# bin/htpasswd -c /usr/local/httpd/conf/.webpwd admin ## -c为创建,添加用户不用加-c
按提示输入两次密码
[root@localhost httpd]# cat /usr/local/httpd/conf/.webpwd
[root@localhost httpd]# vi /usr/local/httpd/conf/httpd.conf
<Directory "/usr/local/httpd/htdocs">
Options None
AllowOverride None
AuthName "web access"
AuthType Basic
AuthUserFile /usr/local/httpd/conf/.webpwd
Require valid-user
#Require user admin
</Directory>
[root@localhost httpd]# service httpd restart
[root@localhost httpd]# /usr/local/httpd/bin/apachectl restart \也可以重启
访问时要求输入密码
二:构建虚拟web主机
有三种方法:
- 基于域名
- 基于IP
- 基于端口
1:基于域名的虚拟主机
(1):为虚拟主机提供域名解析
在客户端(linux)设置hosts,提供域名解析
[root@localhost ~]# vi /etc/hosts
192.168.10.101 www.benet.com
192.168.10.101 www.accp.com
(2):为虚拟主机准备网页
[root@localhost ~]# mkdir -p /var/www/html/benetcom
[root@localhost ~]# mkdir -p /var/www/html/accpcom
[root@localhost ~]# echo "<h1>www.benet.com</h1>" > /var/www/html/benetcom/index.html
[root@localhost ~]# echo "<h1>www.accp.com</h1>" > /var/www/html/accpcom/index.html
(3):添加虚拟主机配置,基于域名的虚拟主机
[root@localhost ~]# vi /usr/local/httpd/conf/extra/httpd-vhosts.conf
<Directory "/var/www/html">
Require all granted
</Directory>
<VirtualHost 192.168.10.101>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/var/www/html/benetcom"
ServerName www.benet.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/www.benet.com.error_log"
CustomLog "logs/www.benet.com.access_log" common
</VirtualHost>
<VirtualHost 192.168.10.101>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/var/www/html/accpcom"
ServerName www.accp.com
ErrorLog "logs/www.accp.com.error_log"
CustomLog "logs/www.accp.com.access_log" common
</VirtualHost>
[root@localhost ~]# vi /usr/local/httpd/conf/httpd.conf
去掉注释符
Include conf/extra/httpd-vhosts.conf
[root@localhost ~]# service httpd restart
分别用www.benet.com和www.accp.com访问
2:基于ip地址的虚拟主机
为服务器添加网卡
设置其ip地址为192.168.10.200
用两个ip地址访问
[root@localhost ~]# vi /usr/local/httpd/conf/extra/httpd-vhosts.conf
<Directory "/var/www/html">
Require all granted
</Directory>
<VirtualHost 192.168.10.101>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/var/www/html/benetcom"
ServerName www.benet.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/www.benet.com.error_log"
CustomLog "logs/www.benet.com.access_log" common
</VirtualHost>
<VirtualHost 192.168.10.200>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/var/www/html/accpcom"
ServerName www.accp.com
ErrorLog "logs/www.accp.com.error_log"
CustomLog "logs/www.accp.com.access_log" common
</VirtualHost>
3:基于端口号的虚拟主机
[root@localhost ~]# vi /usr/local/httpd/conf/extra/httpd-vhosts.conf
<Directory "/var/www/html">
Require all granted
</Directory>
<VirtualHost 192.16810.101:5000>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/var/www/html/benetcom"
ServerName www.benet.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/www.benet.com.error_log"
CustomLog "logs/www.benet.com.error_log" common
</VirtualHost>
<VirtualHost 192.168.10.101:8000>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/var/www/html/accpcom"
ServerName www.accp.com
ErrorLog "logs/www.accp.com.error_log"
CustomLog "logs/www.accp.com.error_log" common
</VirtualHost>
[root@localhost ~]# vi /usr/local/httpd/conf/httpd.conf
添加
Listen 5000 ##52行
Listen 8000
[root@localhost ~]# service httpd restart
以上是关于Web网站服务2.1的主要内容,如果未能解决你的问题,请参考以下文章