linux控制主机连接,linux -web虚拟主机详解 与 Apache的连接保持与访问控制(理论加实验)...

文章目录

前言

一:httpd支持的虚拟主机类型

1.1 基于域名

1.2 基于IP地址

1.3 基于端口

1.4 :添加虚拟主机配置格式

二.通过实例配置体验三种虚拟主机方式

2.1 基于域名的虚拟主机

2.1.1 安装相关软件 DNS 与 apache

2.1.2创建区域数据文件

2.1.3自己创造httpd 配置子文件

2.1.4 分别创建httpd 首页配置文件

2.1.5 将之前自己创造的配置文件让HTTPD程序引用

2.1.6 用win10 虚拟机 访问测试,测试成功

2.2 基于端口的虚拟主机创建

2.2.1 修改配置子文件

2.2.2 创建two02 的 http 首页配置文件

2.2.3 查看监听端口

2.2.4 使用win10 虚拟机测试

2.3 基于IP 地址构建虚拟主机

2.3.1首先修改httpd 配置子文件:

2.3.2 创建one02 的httpd 首页配置文件

2.3.3 修改http 主配置文件,添加监听端口

2.3.4 使用win10访问测试 ,测试成功

三 .Apache的连接保持与访问控制

3.1:Apache连接保持

3.1.1:为什么要保持连接

3.1.2:保持连接的方式

3.2:Apache访问控制

3.2.1:Apache访问控制概述

3.2.2:基于客户端地址的访问控制

3.3 限制主机 192.168.100.60 访问网站192.168.100.80 实验

3.3.1 修改子配置

3.3.2 已经访问不到页面了

3.4 设置登录用户名访问HTTP页面

3.4.1 创建访问用户,及用户文件夹,设置用户密码

3.4.2 修改子配置文件

3.4.3 用lisi 登录测试

3.5 设置会话保持时间600秒

前言

虚拟机的发展历程

IDC数据中心托管–》 半虚架构 opem vz 资源共享–》带宽容易被侵占 --》linux XEN 半虚 QOS 限制带宽 --》 linux 6.0 KVM 全虚架构—》 openstack

虚拟web主机概述

在同一台服务器中运行多个web站点,其中每一个站点并不独立占用一台真正的计算机

通过虚拟web主机可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本

使用httpd可以非常方便的构建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大量的web站点

一:httpd支持的虚拟主机类型

1.1 基于域名

为每个虚拟主机使用不同的域名,但是其对应的IP地址使相同的

域名不同–IP相同,端口相同

基于域名是最为普遍的虚拟web主机类型

1.2 基于IP地址

为每个虚拟主机使用不同的域名,且各自对应的IP地址也不相同

这种方式需要为服务器配备多个网络接口,因此应用不是很广泛

IP不同,端口相同

1.3 基于端口

这种方式并不使用域名,IP地址来区分不同的站点内容,而是使用不同的TCP端口号

因此用户在浏览不同的虚拟站点时需要同时制定端口号才能访问

IP相同,端口不同

1.4 :添加虚拟主机配置格式

[root@localhost ~]# vim /etc/http/conf/xxx/vhost.conf

1 '//针对本服务器所有IP地址'

2 DocumentRoot "/var/www/html/xxx"'//指定站点目录'

3 ServerName www.xxx.com'//指定域名'

4 Errorlog "logs/www.xxx.com.error_log"'//指定错误日志路径'

5 Customlog "logs/www.xxx.com.custom_log" common'//指定访问日志路径'

6 "/var/www/html">

7 Require all granted'//设置网页允许所有主机访问,也可以通过denied设置拒绝访问'

8

9

二.通过实例配置体验三种虚拟主机方式

实验环境:一台centos7 设置双网卡 ,一台win10 ,两者绑定同一网卡

21aabd7783b2d0f4589f93e9ebd2d082.png

[root@localhost network-scripts]# cat ifcfg-ens3

ifcfg-ens33 ifcfg-ens37

[root@localhost network-scripts]# cat ifcfg-ens33

# Generated by parse-kickstart

DEVICE="ens33"

IPV6INIT="yes"

BOOTPROTO="static"

UUID="d595a57e-4d0d-43f4-a289-1f9dd2233f31"

ONBOOT="yes"

IPADDR=192.168.100.80

NETMSK=255.255.255.0

GATEWAY=192.168.100.2

DNS1=192.168.100.80

[root@localhost network-scripts]#

[root@localhost network-scripts]# cat ifcfg-ens37

# Generated by parse-kickstart

DEVICE="ens37"

IPV6INIT="yes"

BOOTPROTO="static"

ONBOOT="yes"

IPADDR=192.168.100.110

NETMASK=255.255.255.0

GATEWAY=192.168.100.2

DNS1=192.168.100.110

[root@localhost network-scripts]#

e58a34bc90c120e6c053b2a6e6dcda0b.png

2.1 基于域名的虚拟主机

虚拟主机基于域名

2.1.1 安装相关软件 DNS 与 apache

Yum install -y httpd bind

[root@localhost ~]# vi /etc/named.conf

9660320e1de9b31c2bf79bba48760a7b.png

39cd71f2c62e6f071b9e994108b42c5c.png

2.1.2创建区域数据文件

[root@localhost named]# cp -p named.localhost one.com.zone

[root@localhost named]# vi one.com.zone

[root@localhost named]# cp -p one.com.zone two.com.zone

08234d0623abd1fff2dc1e30aa28cdad.png

2.1.3自己创造httpd 配置子文件

[root@localhost conf]# pwd

/etc/httpd/conf

[root@localhost conf]# mkdir extra

[root@localhost conf]# vim vhost.conf

'//针对本服务器所有IP地址 80端口'

DocumentRoot "/var/www/html/one" //站点目录

serverName www.one.com //服务网页域名

ErrorLog "logs/www.one.com.error_log" //错误日志

CustomLog "logs/www.one.com.access_log" common //访问日志

require all granted // 设置网站的访问权限, 允许访问

require all granted

DocumentRoot "/var/www/html/two"

serverName www.two.com

ErrorLog "logs/www.two.com.error_log"

CustomLog "logs/www.two.com.access_log" common

require all granted

2.1.4 分别创建httpd 首页配置文件

[root@localhost named]# cd /var/www/html/

[root@localhost html]# ls

one two

[root@localhost one]# cp -p /var/named/named.localhost index.html

[root@localhost two]# cp -p /var/named/named.localhost index.html

2.1.5 将之前自己创造的配置文件让HTTPD程序引用

vi /etc/httpd/conf/httpd.conf

2ab806cc589d0429b7c2cc22517ff9d9.png

2.1.6 用win10 虚拟机 访问测试,测试成功

27691da5ac4e6a1cefffb34ea2daecd5.png

32aed34efd839a981dccff4e91433b9f.png

2.2 基于端口的虚拟主机创建

2.2.1 修改配置子文件

------新增two02 配置,端口8080

vi /etc/httpd/conf/extra/vhost.conf

DocumentRoot "/var/www/html/one"

serverName www.one.com

ErrorLog "logs/www.one.com.error_log"

CustomLog "logs/www.one.com.access_log" common

require all granted

DocumentRoot "/var/www/html/two"

serverName www.two.com

ErrorLog "logs/www.two.com.error_log"

CustomLog "logs/www.two.com.access_log" common

require all granted

DocumentRoot "/var/www/html/two"

serverName www.two.com

ErrorLog "logs/www.two02.com.error_log"

CustomLog "logs/www.two02.com.access_log" common

require all granted

2.2.2 创建two02 的 http 首页配置文件

[root@localhost one]# cd /var/www

[root@localhost www]# cd html/

[root@localhost html]# mkdir two02

[root@localhost html]# cp -p /var/www/html/one/index.html two02/

[root@localhost html]# cd two02/

[root@localhost two02]# ls

index.html

[root@localhost two02]# vi index.htm

05ad92778f7088e756e048115cc4b1a7.png

[root@localhost two02]# vi /etc/httpd/conf/httpd.conf

e873f9ebdcb59d29b96031adcbb36893.png

2.2.3 查看监听端口

[root@localhost two02]# netstat -ntap | grep httpd

tcp 0 0 192.168.100.80:8080 0.0.0.0:* LISTEN 80800/httpd

tcp 0 0 192.168.100.80:80 0.0.0.0:* LISTEN 80800/httpd

2.2.4 使用win10 虚拟机测试

2759adbe96b26aa81592f4e046b20ea0.png

86d6b566c459fe74a5cedc0c2c0049d7.png

2.3 基于IP 地址构建虚拟主机

2.3.1首先修改httpd 配置子文件:

新增一台网卡对应one02

[root@localhost one02]# vi /etc/httpd/conf/extra/vhost.conf

DocumentRoot "/var/www/html/one"

ErrorLog "logs/www.one.com.error_log"

CustomLog "logs/www.one.com.access_log" common

require all granted

DocumentRoot "/var/www/html/one02"

ErrorLog "logs/www.one02.com.error_log"

CustomLog "logs/www.one02.com.access_log" common

require all granted

2.3.2 创建one02 的httpd 首页配置文件

[root@localhost html]# mkdir one02

[root@localhost html]# cp -p /var/www/html/one/index.html one02/

[root@localhost html]# cd one02/

[root@localhost one02]# ls

index.html

[root@localhost one02]# vi index.html

7a2ad61096737757a7924462aaf6062b.png

2.3.3 修改http 主配置文件,添加监听端口

vi httpd.conf

9b7bc183139967109e2de1c32847f2b7.png

测试端口

[root@localhost one02]# netstat -natp | grep httpd

tcp 0 0 192.168.100.110:80 0.0.0.0:* LISTEN 81323/httpd

tcp 0 0 192.168.100.80:80 0.0.0.0:* LISTEN 81323/httpd

2.3.4 使用win10访问测试 ,测试成功

3c4bbb001265b14f194604f62ec5ded8.png

7ab8d12070f1af0903c58707647076b7.png

三 .Apache的连接保持与访问控制

Apache HTTP Server 之所以受到众多企业的青睐,得益于其代码开源,跨平台,功能模块化,可灵活定制等诸多优点,其不仅性能稳定,在安全性方面的表现也十分出色

一:Apache配置详解

3.1:Apache连接保持

3.1.1:为什么要保持连接

HTTP协议是基于TCP协议之上的,在进行HTTP连接之前,要先进行TCP连接,每个TCP连接都要进行三次握手与四次挥手。建立与关闭连接对于HTTP协议而言会消耗很多的内存与CPU资源。

解决办法是HTTP连接保持。就是尽量地保持客户端的连接,通过一个TCP连接传送多个HTTP请求响应,对于客户端可以提高50%以上的响应时间,对于服务器可以降低建立与关闭连接时的资源消耗。

3.1.2:保持连接的方式

Apache连接保持相关参数

KeepAlive

是否打开连接保持,OFF关闭,ON打开

KeepAliveTimeout

一次连接多次请求之间的最大间隔时间,两次请求超过该时间连接断开

MaxKeepAliveRequests

一次连接能够传输的最大请求数量

3.2:Apache访问控制

3.2.1:Apache访问控制概述

作用

控制对网站资源的访问

为特定的网站目录添加访问授权

常用访问控制方式

客户机地址限制

用户授权限制

3.2.2:基于客户端地址的访问控制

使用Require配置项实现访问控制,按先后顺序限制

可用,,,配置段中

Require配置项的常见语法

Require all granted

Require all denied

Require local

Require [not] host

Require [not] ip

'//使用not禁止访问时要将其置于容器中,并在容器中指定相对应的限制策略'

3.3 限制主机 192.168.100.60 访问网站192.168.100.80 实验

3.3.1 修改子配置

ef5684d57b4de8d227c38f5d50509ef7.png

fbf5cb50c2a82c036b615140996667f1.png

3.3.2 已经访问不到页面了

另一个地址页面还是可以访问的,因为它没有被限制

a58dd7f2f79402f9074c9adc2cf30c5d.png

3.4 设置登录用户名访问HTTP页面

创建用户认证数据库

命令基本格式

'//htpasswd命令是httpd自带的'

htpasswd -c /etc/httpd/conf/abc webadmin '//为用户webadmin创建密码文件'

New password:'//输入密码'

Re-type new password:'//重复输入密码'

cat /etc/httpd/conf/abc

webadmin:加密密码

用户授权限制–添加用户授权配置

'//配置基本格式'

AuthName "DocumentRoot" '//受保护的领域名称'

AuthType Basic'//认证类型'

AuthUserFile /etc/httpd/conf/qwe '//用户认证账号文件'

Require valid-user '//要求通过认证才能访问'

3.4.1 创建访问用户,及用户文件夹,设置用户密码

[root@localhost one02]# htpasswd -c /etc/httpd/conf/pwd lisi

New password:

Re-type new password:

Adding password for user lisi

3.4.2 修改子配置文件

e09d75fae0a6cfc896e74e8bacf1cc92.png

3.4.3 用lisi 登录测试

90f84b0c9b20a9db81f7348c302dbe94.png

3a9ed2102ee9f801635b02bbeb2e64e9.png

f6f2d75f6a6e13ffef30fe812e8ad416.png

### 3.4.4 创建用户wangwu 并测试登录

[root@localhost ~]# htpasswd /etc/httpd/conf/pwd wangwu

New password:

Re-type new password:

Adding password for user wangwu

[root@localhost ~]#

0e6551d9554c0d8251ef6d57bb2040c9.png

f5e75fb430f3fabb4b53ad024da3b280.png

b15428813ad0784f576df8eecec5474a.png

3.5 设置会话保持时间600秒

vi httpd

93cf65f3c236f255487297cdc301c9f0.png

也可以放在HTTP子配置文件中

b15bbd0996b335b2f71d337c516c0efa.png

[root@localhost network-scripts]# systemctl restart httpd

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值