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.comwww.benet.com解析为同一个IP地址——173.17.17.11
    • 自行搭建DNS服务器,主配置文件named.conf中添加www.accp.comwww.benet.com两个区域;各区域区域数据文件中均设置”www——》173.17.17.11“的A记录,确认客户机能够解析www.accp.comwww.benet.com对应的IP地址;
    • 如:在IP地址为173.17.17.2的服务器中构建bind服务,配置参考如下:
      •  

    • 2.为虚拟主机准备网页文档
    • 给每个虚拟web主机准备网站目录及网页文档,为了测试方便,为每个虚拟Web主机提供包含不同内容的首页文件

     

      • 3.添加虚拟主机配置
      • 启用基于域名的虚拟Web主机,需要配置以下几个方面
        • 虚拟主机区域:使用<VortualHost   监听地址> 此处省略</VirtualHost>区域配置,为每个虚拟Web主机建立独立的配置内容。至少包含虚拟主机的名称,网页根目录的配置项;管理邮箱和访问日志根据实际情况添加
        • 目录权限:使用<VirtuallHost   监听地址> 省略</VirtuallHost> 区域配置,为每个虚拟Web主机的网站目录设置访问权限,如允许任何人访问
        • 注意:当虚拟Web主机的数量较多时,建议使用独立的虚拟主机配置文件,然后在httpd.conf文件中通过Include加载这些配置项,这样方便维护
        •  

          • 4.在客户机访问虚拟Web主机
            • 在浏览器中,使用网站名称分别访问不同的虚拟Web主机能够看到不同的网页内容,就成功了。无法看到结果,就要检查两个站点的首页文件
  • 2.2.2基于IP 地址,基于端口的虚拟主机
    • 和基于域名的虚拟主机类似,需要提供域名解析,网页文档,httpd配置,重启httpd,在进行测试
    • 区别:不同类型的虚拟主机在httpd.conf文件中的配置内容有不同
      • 1.基于IP的虚拟主机
      • 每个虚拟Web主机使用不同的IP地址,通过一台httpd对外提供Web浏览服务。需要用到大量的网络接口,实际中不太方便,应用不广泛
        • 配置基于IP地址的虚拟主机时,需要在每个虚拟主机的VirtualHost配置项中指定各自的IP地址
        • 如:bdqn.cn的IP为220.181.120.61,jbit.cn的IP地址为122.115.32.133,实现基于IP的虚拟主机,可以参考如下内容

         

            • 2.基于端口的虚拟主机
              • 基于端口的虚拟主机只用于一个Web站点,针对的IP,网站名称相同的。比如http://www。bdqn.com:8353
              • 基于端口的虚拟主机,需要通过多个Listen指定监听端口号,在VirualHost应同时指定IP和端口
              • 如:实现当通过80端口访问www.bdqn.com,看到的时正常bdqn站点内容。当通过端口8353访问,可以看到后台管理系统界面;参考以下内容调整httpd服务器的配置

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.comwww.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的主要内容,如果未能解决你的问题,请参考以下文章

Windows server——部署web服务

Web网站服务2.1

Web网站服务2.1

zabbix监控

前端进阶Web前端性能优化

Zabbix实战之运维篇Zabbix监控web网站配置方法