Web网站服务(二)

1、客户机地址限制。

Require all granted:表示允许所有主机访问。

Require all denied:表示拒绝所有主机访问。

Require local:表示仅允许本地主机访问。

Require [not] host <主机名或域名列表>:表示允许或拒绝指定主机或域访问。

Require [not] ip<ip ip地址或网段列表>:表示允许或拒绝指定IP地址或网段访问。

        通常情况下,网站服务器是对所有客户机开放的,网页文档目录并未做任何限制,因此使用的是"Require all granted"策略,表示允许任何客户机访问。配置文件路径:[ /usr/local/httpd/conf/httpd.conf ]

        定义限制策略时,多个不带not的Require配置语句之间是"或"的关系,即任意一条Require配置语句满足条件均可以访问。

        若只希望IP地址为192.168.136.1的主机能够访问/usr/local/httpd/htdocs网页目录下的内容,则需要配置以下内容。配置文件路径:[ /usr/local/httpd/conf/httpd.conf ]

        若希望禁止网段访问,需要修改以下配置

        当未被授权的客户机访问时,将会被拒绝访问,注意:修改配置文件后均需要重启服务

2、 用户授权限制。

        httpd服务支持使用摘要认证(Digest)和基本认证(Basic)两种方式,使用摘要认证需要在编译httpd之前添加"--enable-auth-digest"选项。

2.1、创建用户认证数据文件。

        httpd的基本认证通过校验用户名、密码组合来判断是否允许用户访问。授权访问的用户账户需要事先建立,并保存在固定的数据文件中。使用专门的htpasswd工具程序,可以创建授权用户数据文件

[root@yang ~]# cd /usr/local/httpd/

##使用/bin/目录下的执行文件htpasswd创建一个名为webadmin的用户,并且存放在.awspwd的隐藏文件中
[root@yang httpd]# bin/htpasswd -c /usr/local/httpd/conf/.awspwd webadmin
New password: 
Re-type new password: 
Adding password for user webadmin

##查看.awspwd隐藏文件中的内容
[root@yang httpd]# cat /usr/local/httpd/conf/.awspwd 
webadmin:$apr1$71qWzdG2$FKS/43H0XO4GQxyCkfCok1

        因为上面创建webadmin的时候也创建好了.awspwd隐藏文件,所有下次创建用户时,就不需要"-c"选项了

[root@yang httpd]# bin/htpasswd /usr/local/httpd/conf/.awspwd bdqn
New password: 
Re-type new password: 
Adding password for user bdqn

[root@yang httpd]# cat /usr/local/httpd/conf/.awspwd 
webadmin:$apr1$71qWzdG2$FKS/43H0XO4GQxyCkfCok1
bdqn:$apr1$9uU9mL67$ieD7/J6O.zPmU8GeQtVs11

2.2、添加用户授权配置。

        有了授权用户账户后,还需要修改httpd.conf配置文件,在特定的目录区域中添加授权配置。

[root@yang ~]# vim /usr/local/httpd/conf/httpd.conf 

<Directory "/usr/local/httpd/htdocs">
    Require all granted
    AuthName " DocumentRoot "
    AuthType Basic
    AuthUserFile /usr/local/httpd/conf/.awspwd
    Require valid-user
</Directory>

[root@yang ~]# systemctl restart httpd  //重启服务
 

AuthName:定义受保护的领域名称,该内容将在浏览器弹出的认证对话框中显示。

AuthType:设置认证的类型,Basic表示基本认证。
AuthUserFile:设置用于保存用户账号,密码的认证文件路径。
Require valid-user:要求只有认证文件中的合法用户才能访问。其中,valid—user表示所有

 注意:主机访问控制中所允许的主机可以直接访问网站,不需要用户授权。主机访问控制中所禁止的主机则不可以直接访问网站,需要进行用户授权。

3、构建虚拟Web主机。 

        虚拟Web主机指的是在同一台服务器中允许多个Web站点,其中的每个站点实际上并不独立占用整个服务器。               

        使用httpd可以非常方便地构建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大量的Web站点。httpd支持的虚拟主机类型包括三种:基于域名、基于IP地址、基于端口

3.1、为虚拟主机提供域名解析。

3.2、 为虚拟主机准备网页文档。

        为每个虚拟Web主机准备网站目录即网页文档以方便测试。在/var/www/html目录下创建两个子文件夹作为网站根目录。

[root@yang ~]# mkdir -p /var/www/html/benetcom
[root@yang ~]# mkdir -p /var/www/html/accpcom

[root@yang ~]# echo "<h1>www.benet.com</h1>" > /var/www/html/benetcom/index.html
[root@yang ~]# echo "<h1>www.accp.com</h1>" > /var/www/html/benetcom/index.html

3.3、添加虚拟主机配置。

[root@yang ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    ServerAdmin webmaster@benet.com
    DocumentRoot "/var/www/html/benetcom"
    ServerName benet.com
    ErrorLog "logs/www.benet.com-error_log"
    CustomLog "logs/www.benet.com-access_log" common
    <Directory "/var/www/html">
    Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@accp.com
    DocumentRoot "/var/www/html/accpcom"
    ServerName accp.com
    ErrorLog "logs/www.accp.com-error_log"
    CustomLog "logs/www.accp.com-access_log" common
    <Directory "/var/www/html">
    Require all granted
    </Directory>
</VirtualHost>

修改httpd.conf配置文件

[root@yang ~]# vim /usr/local/httpd/conf/httpd.conf 

重启服务使新配置生效

[root@yang ~]# systemctl restart httpd

3.4、在客户机中访问虚拟Web主机。

修改客户机的DNS为服务器的IP地址

3.5、基于IP地址的虚拟主机。

[root@localhost ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 

<VirtualHost 192.168.136.24:80>
    ServerAdmin webmaster@benet.com
    DocumentRoot "/var/www/html/benetcom"
    ServerName benet.com
    ErrorLog "logs/www.benet.com-error_log"
    CustomLog "logs/www.benet.com-access_log" common
    <Directory "/var/www/html">
    Require all granted
    </Directory>
</VirtualHost>

<VirtualHost 192.168.136.55:80>
    ServerAdmin webmaster@accp.com
    DocumentRoot "/var/www/html/accpcom"
    ServerName accp.com
    ErrorLog "logs/www.accp.com-error_log"
    CustomLog "logs/www.accp.com-access_log" common
    <Directory "/var/www/html">
    Require all granted
    </Directory>
</VirtualHost>

[root@localhost ~]# systemctl restart httpd.service  //重启服务

5.4、基于端口的虚拟主机。

<VirtualHost 192.168.136.55:8001>
    ServerAdmin webmaster@benet.com
    DocumentRoot "/var/www/html/benetcom"
    ServerName benet.com
    ErrorLog "logs/www.benet.com-error_log"
    CustomLog "logs/www.benet.com-access_log" common
    <Directory "/var/www/html">
    Require all granted
    </Directory>
</VirtualHost>

<VirtualHost 192.168.136.55:8000>
    ServerAdmin webmaster@accp.com
    DocumentRoot "/var/www/html/accpcom"
    ServerName accp.com
    ErrorLog "logs/www.accp.com-error_log"
    CustomLog "logs/www.accp.com-access_log" common
    <Directory "/var/www/html">
    Require all granted
    </Directory>
</VirtualHost>

Listen 8001
Listen 8000

[root@localhost ~]# systemctl restart httpd.service  //重启服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/238284.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2、快速搞定Kafka术语

快速搞定Kafka术语 Kafka 服务端3层消息架构 Kafka 客户端Broker 如何持久化数据小结 Kafka 服务端 3层消息架构 第 1 层是主题层&#xff0c;每个主题可以配置 M 个分区&#xff0c;而每个分区又可以配置 N 个副本。第 2 层是分区层&#xff0c;每个分区的 N 个副本中只能有…

【sqli靶场】第二关和第三关通关思路

目录 前言 一、sqli靶场第二关 1.1 判断注入类型 1.2 判断数据表中的列数 1.3 使用union联合查询 1.4 使用group_concat()函数 1.5 爆出users表中的列名 1.6 爆出users表中的数据 二、sqli靶场第三关 2.1 判断注入类型 2.2 观察报错 2.3 判断数据表中的列数 2.4 使用union联合…

视频目标检测 yolov

目录 yolov相关介绍 预训练是检测动物世界的动物的&#xff0c;1060显卡单帧需要300毫秒 yolov相关介绍 论文地址&#xff1a; https://arxiv.org/pdf/2208.09686.pdf 代码地址&#xff1a; https://github.com/YuHengsss/YOLOV ModelsizemAP50valSpeed 2080Ti(batch size1)…

BGD 实战

梯度下降方法 2.1、三种梯度下降不同 梯度下降分三类&#xff1a;批量梯度下降BGD&#xff08;Batch Gradient Descent&#xff09;、小批量梯度下降MBGD&#xff08;Mini-Batch Gradient Descent&#xff09;、随机梯度下降SGD&#xff08;Stochastic Gradient Descent&…

ROB端口需求

对于一个 4-way 的超标量处理器来说&#xff0c;在重排序缓存&#xff08;ROB&#xff09;中每周期可以退休的指令个数应该是不小于四条的&#xff1b;如图给出的ROB,在那些最旧的指令中,有三条指令都已经变为了complete状态,那么在一个周期内就可以将这三条指令都退休。 要实现…

Vue路由跳转重定向动态路由VueCli

Vue路由跳转&重定向&动态路由&VueCli 一、声明式导航-导航链接 1.需求 实现导航高亮效果 如果使用a标签进行跳转的话&#xff0c;需要给当前跳转的导航加样式&#xff0c;同时要移除上一个a标签的样式&#xff0c;太麻烦&#xff01;&#xff01;&#xff01; …

抖店一件代发怎么做?保姆级运营教程!

我是电商珠珠 抖店是抖音发展的电商平台&#xff0c;一些没有电商经验的新手&#xff0c;不想囤货&#xff0c;担心卖不出去。 听说可以一件代发&#xff0c;但却不知道怎么做。 今天&#xff0c;我就来详细的跟大家讲一下。 一、选品上架 在选品的时候可以参考后台的电商…

GZ029 智能电子产品设计与开发赛题第5套

2023年全国职业院校技能大赛高职组 “GZ029智能电子产品设计与开发”赛项赛卷五 题目&#xff1a;模拟工业传送带物品检测系统的设计与开发 1 竞赛任务 在智能电视机上播放工业传送带传输物品视频&#xff0c;模拟工业传送带物品检测系统&#xff08;以下简称物品检测系统&…

wpf TelerikUI使用DragDropManager

首先&#xff0c;我先创建事务对象ApplicationInfo&#xff0c;当暴露出一对属性当例子集合对于构成ListBoxes。这个类在例子中显示如下代码&#xff1a; public class ApplicationInfo { public Double Price { get; set; } public String IconPath { get; set; } public …

Nature 子刊| 单细胞转录组揭示从猴到人的进化过程

期刊&#xff1a;Nature Ecology & Evolution IF&#xff1a;16.8 发表时间&#xff1a;2023 DOI号&#xff1a;10.1038/s41559-023-02186-7 研究背景 据推测&#xff0c;人类认知功能的增强是由于皮质扩张和细胞多样性增加所致。然而&#xff0c;推动这些表型创新的机…

产品入门第一讲:Axure的安装以及基本使用

&#x1f4da;&#x1f4da; &#x1f3c5;我是默&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; ​​​ &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《Axure》。&#x1f3af;&#x1f3af; &#x1f680;无论你是编程小白&#xff0c;还是有…

【开源】基于Vue.js的就医保险管理系统

文末获取源码&#xff0c;项目编号&#xff1a; S 085 。 \color{red}{文末获取源码&#xff0c;项目编号&#xff1a;S085。} 文末获取源码&#xff0c;项目编号&#xff1a;S085。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 科室档案模块2.2 医生档案模块2.3 预…

竞赛保研 LSTM的预测算法 - 股票预测 天气预测 房价预测

0 简介 今天学长向大家介绍LSTM基础 基于LSTM的预测算法 - 股票预测 天气预测 房价预测 这是一个较为新颖的竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng-senior/postgraduate 1 基于 Ke…

yolov8学习

1.yolov8代码结构 1.ultralytics文件夹 &#xff08;1&#xff09;assets 待评估的图片 &#xff08;2&#xff09;cfg datasets:不同数据集对应yaml文件 models:不同模型对应的yaml文件 &#xff08;3&#xff09;data 用于图像预处理的py代码

【安卓】安卓xTS之Media模块 学习笔记(3) VTS测试

因为本文内容较多&#xff0c;将目录放在这里&#xff0c;便于检索。 文章目录 文章系列1. 背景2. 参考文档3. 测试步骤3.1 VTS测试包获取3.1.1 自行编译 3.2 VTS测试包文件结构3.3 测试命令3.3.1 常见命令3.3.2 一些常见的option&#xff1a; 4. 测试结果说明4.1 结果result4…

【强化学习-读书笔记】多臂赌博机 Multi-armed bandit

参考 Reinforcement Learning, Second Edition An Introduction By Richard S. Sutton and Andrew G. Barto强化学习与监督学习 强化学习与其他机器学习方法最大的不同&#xff0c;就在于前者的训练信号是用来评估&#xff08;而不是指导&#xff09;给定动作的好坏的。 …

跨国企业在跨境数据传输时需要注意的几点

对于跨国企业而言&#xff0c;跨境数据传输是一个极为关键的组成部分。这不仅涉及到数据的安全性、合规性和效率&#xff0c;还直接关系到企业的竞争力和未来发展前景。因此&#xff0c;在进行跨境数据传输时&#xff0c;企业需要特别关注以下几个关键点&#xff0c;并采取相应…

设计模式-组合模式

设计模式专栏 模式介绍模式特点应用场景组合模式和装饰者模式的区别代码示例Java实现组合模式python实现组合模式 组合模式在spring中的应用 模式介绍 组合模式是一种结构型设计模式&#xff0c;它针对由多个节点对象&#xff08;部分&#xff09;组成的树形结构的对象&#x…

MES管理系统的应用场景都包括哪些

在当今高度信息化的时代&#xff0c;企业生产管理面临着越来越多的挑战。如何实现生产过程的数字化、智能化和优化&#xff0c;提高生产效率和产品质量&#xff0c;是许多制造企业亟待解决的问题。作为一种面向车间现场生产制造过程的数字化管理工具&#xff0c;MES管理系统在企…

最大公因数,最小公倍数详解

前言 对于初学编程的小伙伴们肯定经常遇见此类问题&#xff0c;而且为之头疼&#xff0c;今天我来给大家分享一下&#xff0c;最大公因数和最小公倍数的求法。让我们开始吧&#xff01; 文章目录 1&#xff0c;最大公因数法1法2法3 2&#xff0c;最小公倍数3&#xff0c;尾声 …