http_虚拟web

虚拟web主机

作用:一台服务器提供的多个不同的web页面。
区分方式:基于域名、端口、IP地址的虚拟主机。

主配置文件: /etc/httpd/conf/httpd.conf
调用配置文件:/etc/httpd/conf.d/*.conf

<VirtualHost IP地址:端口>
ServerName 此站点的DNS名称
DocumentRoot 此站点的网页根目录
</VirtualHost>
----------------------------------------------------------------------------------------
构建基于域名的虚拟主机

vim /etc/httpd/conf.d/nsd.conf
<VirtualHost *:80> #本机所有IP启用虚拟Web。
ServerName www0.example.com #本站域名
DocumentRoot /var/www/nsd01 #网页根目录
</VirtualHost>

再按格式写域名webapp0,网页根目录/var/www/nsd02。

mkdir /var/www/nsd01 /var/www/nsd02
echo '<h1>百度' > /var/www/nsd01/index.html
echo '<h1>企鹅' > /var/www/nsd02/index.html

一旦使用虚拟web主机功能,所有网站都必须用虚拟web主机完成!
之前在主配置文件写的server0.example.com,也要追加写入调用配置文件中。

vim /etc/httpd/conf.d/nsd.conf
追加写入
<VirtualHost *:80>
ServerName server0.example.com
DocumentRoot /var/www/myweb
</VirtualHost>

systemctl restart httpd
虚拟机desktop0验证:www0,webapp0,server0
--------------------------------------------------------------------------------------------
Web访问控制(DocumentRoot)

针对 DocumentRoot 网页目录的权限控制
httpd 运行身份(用户/组):apache

服务配置
使用 <Directory> 配置区段
每个文件夹自动继承其父目录的访问权限!
除非针对子目录有明确设置!

/opt 拒绝所有人访问
/opt/test 拒绝所有人访问
/opt/class 单独书写配置允许

<Directory 目录的绝对路径>
.. ..
Require all denied|granted #此目录 拒绝/允许所有人访问
Require ip IP或网段地址 .. .. #此目录 只允许某个ip单独访问
</Directory>
----------------------------------------------------------------------------------------
配置Web访问控制 (网页内容访问)

在Web网站 http://server0.example.com 的 DocumentRoot 目录下创建一个名为 private 的子目录,要求如下:
1)在server0.example.com的DocumentRoot目录下,private的子目录里书写网页文件index.html内容为 private
2)此页面只能在本机浏览,但是从其他系统不能访问这个目录的内容

1.查看DocumentRoot 路径
cat /etc/httpd/conf.d/nsd.conf

2.创建相应目录,并用echo写个页面
mkdir /var/www/myweb/private
echo '<h1>private' > /var/www/myweb/private/index.html

3.设置权限,只允许本机查看
vim /etc/httpd/conf.d/test.conf
<Directory /var/www/myweb/private>
Require ip 172.25.0.11
</Directory>

4.重启httpd

2台虚拟机都做测试: firefox server0.example.com/private
验证最终结果:虚拟机desktop被拒绝,虚拟机server可以访问
--------------------------------------------------------------------------------------
使用自定义的Web根目录

调整 Web 站点 http://server0.example.com 的网页目录,要求如下:
1)新建目录 /webroot,作为此站点新的网页目录
2)确保站点 http://server0.example.com 仍然可访问

虚拟机server0
1)新建目录 /webroot,作为此站点新的网页目录
mkdir /webroot
echo '<h1>webroot' > /webroot/index.html

2)修改配置文件,指定站点新的网页目录
vim /etc/httpd/conf.d/nsd.conf
<VirtualHost *:80>
ServerName server0.example.com
DocumentRoot /webroot
</VirtualHost>

3)修改配置文件,添加服务的访问控制
vim /etc/httpd/conf.d/test.conf
<Directory /webroot>
Require all granted #允许所有人访问
</Directory>

4)重起httpd服务

5)SELinux的安全上下文 (标签起标识作用)
ls -Zd /var/www #查看公认可以访问的目录的标签
ls -Zd /webroot

参照标准目录,重设新目录的属性
chcon -R --reference=模板目录 新目录

chcon -R --reference=/var/www /webroot/
#将/webroot修改为/var/www一样的标签值, 一定要加R!!!

ls -Zd /webroot/
----------------------------------------------------------------------------------
虚拟web主机匹配优先级:由上到下,匹配及停止
端口的优先级要大于域名
----------------------------------------------------------------------------------
服务端提供资源:
1)新建目录
2)修改配置文件
3)修改配置文件,添加访问控制
4)重起httpd服务

客户端访问资源:
防火墙
SELinux
服务本身的限制
本地目录的限制

转载于:https://www.cnblogs.com/summer2/p/10787861.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值