Web服务器实战

网站需求

1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab!!!
2.给该公司创建三个网站目录分别显示学生信息,教学资料和缴费网站,基于www.openlab.com/student 网站访问学生信息,www.openlab.com/data网站访问教学资料
www.openlab.com/money网站访问缴费网站。
3.要求:
(1)学生信息网站只有song和tian两人可以访问,其他网站所有用户用能访问。
(2)访问缴费网站实现数据加密基于https访问。

准备

1.需要两台Linux虚拟机,一台为服务端server,另一台为客户端client
server IPV4:192.168.110.136/24                client  IPV4:192.168.110.134/24
2.服务端需要关闭防火墙和Linux的安全服务seLinux
[root@server ~]# systemctl stop firewalld
[root@server ~]# setenforce 0
[root@server ~]# getenforce 
Permissive

3.安装httpd,mol_ssl
[root@server ~]# yum install -y httpd mod_ssl

配置

1.客户端通过IP地址可以正常访问服务端内容

[root@server ~]# mkdir -v /openlab/                       #创建目录
已创建目录 '/openlab/' 
[root@server ~]# echo "welcome to openlab!!!" > /openlab/index.html  #写入内容 
[root@server ~]# vim /etc/httpd/conf.d/openlab.conf            #打开httpd的额外参数配置文件 

<Directory "/openlab/">
        Options Indexes FollowSymLinks                                       
        AllowOverride None  

        Require all granted                 
</Directory>

<VirtualHost 192.168.110.136:80>
    ServerAdmin admin@outlook.com
    DocumentRoot "/openlab/"
    ServerName www.openlab.com
</VirtualHost>
[root@server ~]# httpd -t               #语法检测
Syntax OK
[root@server ~]# systemctl restart httpd         #重启服务

客户端访问

[root@client ~]# curl 192.168.110.136
welcome to openlab!!!

2.搭建学生信息,教学资料,缴费网站页面

[root@server ~]# mkdir /openlab/{student,data,money} -v
mkdir: 已创建目录 '/openlab/student'
mkdir: 已创建目录 '/openlab/data'
mkdir: 已创建目录 '/openlab/money'

[root@server ~]# echo "学生信息" > /openlab/student/index.html      #写入内容
[root@server ~]# echo "教育网站" > /openlab/data/index.html           #写入内容
[root@server ~]# echo "缴费网站" > /openlab/money/index.html       #写入内容

首先配置student页面只有song和tian用户访问

[root@server ~]# htpasswd -c /etc/httpd/conf.d/httpd song    #创建sond的身份验证文件
New password: 
Re-type new password: 
Adding password for user song
[root@server ~]# htpasswd /etc/httpd/conf.d/httpd tian      #添加tain的身份验证文件
New password: 
Re-type new password: 
Adding password for user tian

[root@server ~]# cat /etc/httpd/conf.d/httpd
song:$apr1$XWPO6i0/$hNsM5W/Gx3ukFsPokAEEH.
tian:$apr1$SSblX1SO$YGyWDIuzZmCuLfhBnqn6m1

[root@server ~]# vim /etc/httpd/conf.d/openlab.conf    #在额外参数配置文件添加内容

<VirtualHost 192.168.110.136:80>
    ServerAdmin admin@outlook.com
    DocumentRoot "/openlab/student"
    ServerName www.openlab.com
</VirtualHost>
<Directory "/openlab/student">
        Options Indexes FollowSymLinks
        AllowOverride None
        AuthType Basic
        AuthName "Restricted Files"
        AuthUserFile "/etc/httpd/conf.d/httpd "    #身份验证文件的路径
        Require user song tian                         #允许访问的用户

</Directory>
[root@server ~]# httpd -t                             #语法检测
Syntax OK
[root@server ~]# systemctl restart httpd   #重启服务

客户端访问

[root@client ~]# curl 192.168.110.136/student/ -u song
Enter host password for user 'song':
学生信息
[root@client ~]# curl 192.168.110.136/student/ -u tian
Enter host password for user 'tian':
学生信息


其他用户访问

配置教学资料网站所有用户都可访问

[root@server ~]# vim /etc/httpd/conf.d/openlab.conf   #打开配置文件添加内容

<Directory "/openlab/data/">
Options Indexes FollowSymLinks
  AllowOverride None
Require all granted
</Directory>

<VirtualHost 192.168.110.136:80>
    ServerAdmin admin@outlook.com
    DocumentRoot "/openlab/data/"
    ServerName www.openlab.com
</VirtualHost>
[root@server ~]# httpd -t
Syntax OK
[root@server ~]# systemctl restart httpd
 

客户端访问

[root@client ~]# curl 192.168.110.136/data/
教育网站

配置缴费网站实现数据加密基于https访问

[root@server ~]# cd /etc/pki/tls/certs/                         #存放着一些证书文件

[root@server certs]# openssl genrsa 2048 >> openlab.key    #生成私钥文件
[root@server certs]# openssl req -utf8 -new -key openlab.key -x509 -days 100 -out openlab.crt     #生成证书
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:SN         #国家
State or Province Name (full name) []:CN     #省份
Locality Name (eg, city) [Default City]:XI'AN        #城市     
Organization Name (eg, company) [Default Company Ltd]:OPENLAB    #企业
Organizational Unit Name (eg, section) []:RHCE        #部门
Common Name (eg, your name or your server's hostname) []:www.openlab.com 域名
Email Address []:admi@outlook.com            #邮件
[root@server ~]# vim /etc/httpd/conf.d/openlab.conf

<VirtualHost 192.168.110.136:443>
    DocumentRoot "/openlab/money/"
    ServerName www.openlab.com
    SSLEngine on
    SSLCertificateFile "/etc/pki/tls/certs/openlab.crt"
    SSLCertificateKeyFile "/etc/pki/tls/certs/openlab.key"
</VirtualHost>

<Directory "/openlab/money/">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
[root@server ~]# httpd -t
Syntax OK
[root@server ~]# systemctl restart httpd

客户端访问

[root@client ~]# curl https://192.168.110.136 -k    #-k为忽略证书访问
缴费网站
[root@client ~]# curl 192.168.110.136/money/ -k 
缴费网站

/etc/httpd/conf.d/openlab.conf配置文件最终内容

3.客户端通过域名可以正常访问服务端内容

在没有DNS域名解析服务器的情况下可以使用本机hosts文件,hosts文件其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联"数据库"

在Linux下hosts文件地址为/etc/host

[root@client ~]# vim /etc/hosts                        #写入内容

192.168.110.136        www.openlab.com

[root@client ~]# curl www.openlab.com
welcome to openlab!!!
[root@client ~]# curl www.openlab.com/student/ -u song
Enter host password for user 'song':
学生信息
[root@client ~]# curl www.openlab.com/student/ -u tian
Enter host password for user 'tian':
学生信息
[root@client ~]# curl www.openlab.com/data/
教育网站
[root@client ~]# curl https://www.openlab.com -k
缴费网站
[root@client ~]# curl www.openlab.com/money/ -k
缴费网站

在Windows客户端下hosts文件路径为C:\Windows\System32\drivers\etc\hosts  

添加内容,浏览器访问即可

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2021研电赛】基于深度学习的蛋白质与化合物结合性质预测

本作品介绍参与极术社区的有奖征集|分享研电赛作品扩大影响力&#xff0c;更有重磅电子产品免费领取! 获奖情况&#xff1a;三等奖 1.作品简介 针对药物发现过程中的药物筛选问题&#xff0c;本设计基于深度学习提出新的神经网络结构和数据处理方式用于预测蛋白质与化合物之…

更改 npm的默认缓存地址

npm的默认缓存一般在C:\Users\用户名\AppData\Roaming路径下的npm和npm_cache&#xff0c;而c盘往往空间不大。 1、在其他盘新建两个文件夹&#xff0c;如D盘&#xff0c;node_cache和node_global。如下图所示。 2、在cmd中执行npm config set prefix “node_cache的路径”&a…

关于AM5-DB低压备自投装置如何应用在某变电站项目的-安科瑞 蒋静

摘 要&#xff1a;随着电力需求的不断增加&#xff0c;电力系统供电可靠性要求越来越高&#xff0c;许多供电系统已具备两回或多回供电线路。备用电源自动投入装置可以有效提高供电的可靠性&#xff0c;该类装置能够在工作电源因故障断开后&#xff0c;自动且迅速地将备用电源投…

什么是进销存系统?有哪些流程?

这篇给大家详细介绍一下&#xff0c;到底什么是进销存系统&#xff0c;它的发展历程如何&#xff1f;企业该如何利用进销存系统获得竞争优势&#xff1f; 至于为什么越来越多的企业都选择进销存系统&#xff0c;让我们先来看一下这个实例。 假设有一家零售超市&#xff0c;他…

目标跟踪(DeepSORT)

本文首先将介绍在目标跟踪任务中常用的匈牙利算法&#xff08;Hungarian Algorithm&#xff09;和卡尔曼滤波&#xff08;Kalman Filter&#xff09;&#xff0c;然后介绍经典算法DeepSORT的工作流程以及对相关源码进行解析。 目前主流的目标跟踪算法都是基于Tracking-by-Detec…

PBJ | IF=13.8 利用ChIP-seq和ATAC-seq技术揭示MdRAD5B调控苹果耐旱性的双重分子作用机制

2023年10月24日&#xff0c;西北农林科技大学园艺学院管清美教授团队在Plant Biotechnology Journal&#xff08;最新IF&#xff1a;13.8&#xff09;上发表题为“The chromatin remodeller MdRAD5B enhances drought tolerance by coupling MdLHP1-mediated H3K27me3 in apple…

计算机网络期末复习-Part1

1、列举几种接入网技术&#xff1a;ADSL&#xff0c;HFC&#xff0c;FTTH&#xff0c;LAN&#xff0c;WLAN ADSL&#xff08;Asymmetric Digital Subscriber Line&#xff09;&#xff1a;非对称数字用户线路。ADSL 是一种用于通过电话线连接到互联网的技术&#xff0c;它提供…

安卓系统手机便签app使用哪一款?

在现代快节奏的生活中&#xff0c;我们经常会遇到各种繁忙的事务和容易遗忘的备忘事项。为避免大家遗忘重要的事情&#xff0c;大家可以在常用的手机上安装记录备忘事项的工具&#xff0c;为了帮助安卓用户高效地记录和管理这些信息&#xff0c;今天我将向大家推荐一款功能强大…

关于炒股融资的条件,3个你不知道的小知识

随着投资者对股市的关注度不断提高&#xff0c;炒股融资成为了常见的投资方式&#xff0c;但是很多投资者对炒股融资的条件了解不够。下面给大家介绍三个你可能不知道的小知识。 融资比例的计算方式 融资比例指的是投资者可以借的资金比例&#xff0c;其计算方式是融资金额除以…

uniapp小程序接入腾讯云【增强版人脸核身接入】

文档地址&#xff1a;https://cloud.tencent.com/document/product/1007/56812 企业申请注册这边就不介绍了&#xff0c;根据官方文档去申请注册。 申请成功后&#xff0c;下载【微信小程序sdk】 一、解压sdk&#xff0c;创建wxcomponents文件夹 sdk解压后发现是原生小程序代…

程序员副业之路,今天花几分钟提现了18.1元,感觉认真做收益还是不错的

干客户端这么多年了&#xff0c;越来越觉得力不从心了&#xff0c;以前加班到半夜&#xff0c;睡一觉第二天又生龙活虎继续干&#xff0c;现在时常感叹&#xff1a;年轻就是好呀&#xff0c;有使不完的劲&#xff0c;就像下面这位兄弟这样&#xff0c;跪着都能给你把代码写完。…

Halcon如何使用SaperaLT库连接dalsa相机

halcon安装好的时候&#xff0c;没有带SaperaLT的采集库&#xff0c;需要额外在Halcon官网下载此库。 以下是halcon官网下载此库的链接。官网需要注册才可以下载。 https://www.mvtec.com/downloads/interfaces?tx_mvtecproduct_extensiondownloadlist%5Bfilter%5D%5B0%5Dma…

CC1101 一款低功耗sub- 1ghz收发器芯片 适用于无线遥控智能家居

产品描述 CC1101是一个低成本的sub- 1ghz收发器,专为极低功耗的无线应用而设计。 该电路主要用于工业、科学和医学)和SRD (Short Range Device)频带,在315,433,868和915兆赫&#xff0c;但可以轻松可编程用于其他操作频率在300-348 MHz、387-464 MHz,以及779-928 MHz频段。射…

Vulnhub靶场之Funbox

正如该靶场的描述所说&#xff0c;它对初学者来说非常简单。 项目地址&#xff1a;Funbox: Scriptkiddie ~ VulnHub 所需工具&#xff1a; KaliLinux即可。 0x00 信息收集 打开虚拟机后使用nmap扫描一下网段存活&#xff0c;这里我给的虚拟机的范围是100-253,其中kali的IP是10…

16 _ 二分查找(下):如何快速定位IP对应的省份地址?

通过IP地址来查找IP归属地的功能,不知道你有没有用过?没用过也没关系,你现在可以打开百度,在搜索框里随便输一个IP地址,就会看到它的归属地。 这个功能并不复杂,它是通过维护一个很大的IP地址库来实现的。地址库中包括IP地址范围和归属地的对应关系。 当我们想要查询202…

uniapp在不需要后端数据的情况下 怎么记录用户进一次记录一次

目录 前言&#xff1a; html部分 js部分 完整代码 前言&#xff1a; 一时兴起&#xff0c;不喜勿喷&#xff0c;今天听到了这个问题想到了一个方法&#xff0c;解决方式如下。 html部分 他用于显示访问次数&#xff08;visitCount变量的值&#xff09;。 <template&…

【Docker】iptables命令的使用

iptables是一个非常强大的Linux防火墙工具&#xff0c;你可以使用它来控制网络流量的访问和转发。 前面已经学习了iptables的基本原理&#xff0c;四表五链的基本概念&#xff0c;也已经安装好了iptables&#xff0c;下面我们主要学习iptables命令的基本使用。 可以使用iptable…

【MySQL日志与备份篇】数据库备份与恢复

数据库备份与恢复 文章目录 数据库备份与恢复1. 物理备份与逻辑备份2. mysqldump实现逻辑备份2.1 备份一个数据库2.2 备份全部数据库2.3 备份部分数据库2.4 备份部分表2.5 备份单表的部分数据2.6 排除某些表的备份2.7 只备份结构或只备份数据2.8 备份中包含存储过程、函数、事件…

Web前端—CSS高级(定位、高级技巧、CSS修饰属性、综合案例:购物网站轮播图)

版本说明 当前版本号[20231108]。 版本修改说明20231107初版20231108对知识点&#xff08;圆点&#xff09;进行补充 目录 文章目录 版本说明目录day08-CSS高级01-定位相对定位绝对定位定位居中固定定位堆叠层级 z-index定位总结 02-高级技巧CSS精灵案例-京东服务HTML结构CS…

JavaEE-部署项目到服务器

本部分内容为&#xff1a;安装依赖&#xff1a;JDK&#xff0c;Tomcat&#xff0c;Mysql&#xff1b;部署项目到服务器 什么是Tomcat Tomcat简单的说就是一个运行JAVA的网络服务器&#xff0c;底层是Socket的一个程序&#xff0c;它也是JSP和Serlvet的一个容器。 为什么我们需要…