httpd虚拟主机及通过虚拟主机查看服务器状态
admin
2023-03-24 13:41:29
0

httpd虚拟主机的作用:可以将多个站点绑定在同一个IP上,也可在同一主机上将多个网站绑定在多个IP上;

虚拟主机可以根据端口绑定,也可基于IP绑定,示例如下:

 www.a.com --> 10.1.1.100:80
 www.b.net --> 10.1.1.100:808
 www.c.org --> 10.1.1.100:8080

 www.a.com --> 10.1.1.100
 www.b.net  --> 10.1.1.101
 www.c.org --> 10.1.1.102

以上两种也可以混合使用;亦可多个域名共用一个IP及端口,此种情况下需要dns上将多个域名映射到同一个IP地址。


配置虚拟主机(以CentOS 7为例):

Apache httpd配置文件:

    主配置文件:

    /etc/httpd/conf/httpd.conf
    /etc/httpd/conf.d/*conf               #也可作为主配置文件的一部分

1、安装服务:

    yum -y install httpd

2、备份主配置文件并修改,以便后续开启虚拟主机:

  vim /etc/httpd/conf/httpd.conf,注释掉默认的网页文件路径
    # DocumentRoot "/var/www"---> httpd网页文件默认路径


3、找到#ServerName www.example.com:80,添加一下内容:

ServerName localhost:80 #添加之后httpd服务启动时将不会尝试使用DNS服务器解析本机hostname

4、在/etc/httpd/conf.d/新建虚拟主机配置文件,方便后续管理,不用的时候删除即可

vim /etc/httpd/conf.d/vhosts.conf

  4.1 如果使用基于端口的方式,则

      Listen 808                     #监听需要启用的端口
      
          ServerName www.a.com
          DocumentRoot "/www/a.com/htdocs/"      #目录提前创建好,并将index.html测试文件放入对应的目录
      
      
          ServerName www.b.net
          DocumentRoot "/www/b.net/htdocs/"
      

    4.2  如果使用基于IP的方式,则            

         
             ServerName www.a.com
             DocumentRoot "/www/a.com/htdocs/"      #目录提前创建好,并将index.html测试文件放入对应的目录
          
                   
             ServerName www.b.net
             DocumentRoot "/www/b.net/htdocs/"
          

    4.3 如果使用FQDN的方式,则(此种方法主要靠DNS服务器将多个域名和IP做绑定)     

          
           ServerName www.a.com
           DocumentRoot "/www/a.com/htdocs/"
             
          
           ServerName www.a.com
           DocumentRoot "/www/a.com/htdocs/"
          

注:在修改httpd的配置文件后,请使用httpd -t检查配置文件,没问题再重启服务


可能出现的问题,及解决办法

1、经过上述配置,虚拟主机可能存在不能访问的问题,请关闭SELinux及iptables;

   SElinux 关闭方法:
    setenforce 0        #临时关闭
    vim /etc/selinux/config  #需要重启
        SELINUX=disabled
   SELinux查看方法:
    getenforce
    disable            #处于关闭装填
 CentOS 7防火墙关闭方法:
    systemctl disable firewalld.service


2、如果此时仍不能访问,提示路径不能访问的forbidden错误,在虚拟主机配置文件中加入以下内容:

 #可参考主配置文件中针对默认路径权限的配置案例,此处的路径为虚拟主机网页文件路径
    AllowOverride None
    # Allow open access:
    Require all granted

注:网页文件默认不允许访问

添加之后,httpd -t检查下语法错误,没问题的话重启服务即可,此时虚拟主机应能正常访问;


server-status及身份认证

1、如果需要通过某虚拟主机获取服务器状态,并需要认证身份,则添加以下内容:


ServerName www.a.com
DocumentRoot "/www/a.com/htdocs/"
        
            SetHandler server-status
            AuthType Basic
            AuthName "ENTER YOUR ID"
            AuthUserFile /etc/httpd/conf/.htpasswd   #指明认证所需的文件路径
            Require valid-user    #只要用户存在即可,亦可直接指定用户名
        

2使用htpasswd -c -m /etc/httpd/conf/.htpasswd  USERNAME 创建用户名及设定密码

注:-c命令只在第一次创建用户时使用,用户生成密码文件



相关内容

热门资讯

特朗普下令不打了,美国的“余粮... 可以说戛然而止,快得让很多人都无法适应。前两周,每一天美国都要打击伊朗一通。就在7月24日白宫会议前...
穆杰塔巴最新表态:支持黎真主党 △伊朗最高领袖穆杰塔巴·哈梅内伊(资料图)当地时间7月26日晚,伊朗最高领袖穆杰塔巴·哈梅内伊对黎巴...
美军瘫痪一艘驶向伊朗的油轮,特... 美国总统特朗普虽下令暂停打击伊朗,但美军仍在执行对霍尔木兹海峡的封锁任务。针对美军瘫痪一艘驶向伊朗油...
“小牌大耍”的底气到底是哪里来... 澎湃首席评论员 李平这两天,“艺人李权哲乘高铁占座事件”在网上引发热议,该艺人参加的活动主办方曾发布...
越南籍船舶南海遇险沉没,中方已... 据凤凰卫视报道,一艘越南船舶7月24日夜间在越南庆和以东220海里附近遇险沉没,船上共62名越南籍人...
李权哲占座、蒙面、装死:娱乐圈... 你买了一张高铁一等座的票,找到自己的位置,18A。有人坐着。你拿出手机看了眼购票记录——没错,18A...
杭州景区咖啡店闯入1条幼蛇,仅... 夏天气温高、湿度大,蛇类活动进入高峰期,千万别被“小蛇无害”的刻板印象骗了!有些幼蛇看着迷你可爱,实...
AI开源公开信签署企业增至50... IT之家 7 月 26 日消息,英伟达、微软、IBM、Meta 等 25 家美国科技企业本周(7 月...
南阳快手短视频代运营企业的服务... 在短视频平台快速发展的背景下,企业通过快手等渠道进行内容运营已成为常见的市场动作。对于希望借助短视频...
普通人该如何跟上科技发展的步伐 这个被称作科技的词汇, 听起来既有宏大之感, 又颇为遥远, 好似仅仅归属于在实验室里专心致志钻研的科...