网络服务第三次作业

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

第一步:准备工作

第二步:创建www.openlab.com网站 # 恢复快照,关闭安全软件 # 安装所需软件

[root@server ~]# yum install nginx httpdtools -y # Windows的

C:\Windows\System32\drivers\etc\hosts 文件进 行DNS映射

192.168.48.130 www.openlab.com # 添加

第二步:创建www.openlab.com网站 # 恢复快照,关闭安全软件 # 安装所需软件

[root@server ~]# yum install nginx httpdtools -y # Windows的 C:\Windows\System32\drivers\etc\hosts 文件进 行DNS映射

192.168.48.130 www.openlab.com # 添加 1 2 3 4 5 6 7

第三步:创建教学资料子网站www.openlab.com/data # 创建网页目录及网页

[root@server ~]# mkdir -p /www/openlab

[root@server ~]# echo 'welcom to openlab' > /www/openlab/index.html

[root@server ~]# vim /etc/nginx/nginx.conf

server {

                 listen 80;

                 server_name www.openlab.com;

                  root /www/openlab;

}

[root@server ~]# systemctl start nginx # Windows端打开浏览器输入www.openlab.com测试

第三步:创建教学资料子网站www.openlab.com/data

[root@server ~]# mkdir /www/openlab/data

[root@server ~]# echo 'data' > /www/openlab/data/index.html

[root@server ~]# vim /etc/nginx/nginx.conf # 接着之前的继续向下编写

server {

                listen 80;

                server_name www.openlab.com;

                root /www/openlab; # 增加如下子配置

                 location /data {

                                               alias /www/openlab/data;

                                                index index.html index.htm;

                                        }

}

[root@server ~]# systemctl restart nginx #

Windows端打开浏览器输入www.openlab.com/data测 试

第四步:创建学生信息子网站www.openlab.com/student

[root@server ~]# mkdir /www/openlab/student

[root@server ~]# echo 'student' > /www/openlab/student/index.html

root@server ~]# useradd song

[root@server ~]# passwd song # 密码123456

[root@server ~]# useradd tian [root@server ~]# passwd tian # 密码654321

[root@server ~]# htpasswd -c /etc/nginx/passwd song # 密码123456

[root@server ~]# htpasswd /etc/nginx/passwd tian # 密码654321

[root@server ~]# vim /etc/nginx.conf # 接 着之前的继续向下编写

server {

                 listen 80;

                  server_name www.openlab.com;

                root /www/openlab;

                location /data { alias /www/openlab/data;

                index index.html index.htm; } # 增加如下子

                location /student {

                alias /www/openlab/student;

                index index.html index.htm; auth_basic "Please input password";

                auth_basic_user_file /etc/nginx/passwd;

                                                }

}

[root@server ~]# systemctl restart nginx # Windows端打开浏览器输入 www.openlab.com/student测试,多次测试需要清除浏 览器缓存

第五步:创建缴费子网站www.openlab.com/money

[root@server ~]# mkdir /www/openlab/money

[root@server ~]# echo 'money' > /www/openlab/money/index.html

[root@server ~]# openssl genrsa -aes128 2048 > /etc/nginx/money.key

Generating RSA private key, 2048 bit long

modulus (2 primes)

....................+++++

...................................+++++

e is 65537 (0x010001)

Enter pass phrase: # 输入加密私

钥的密码123456

Verifying - Enter pass phrase: # 在输入一遍

[root@server ~]# openssl req -utf8 -new -key /etc/nginx/money.key -x509 -days 365 -out /etc/nginx/money.crt # 制作证书

Enter pass phrase for /etc/nginx/money.key:

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) [AU]:86

State or Province Name (full name) [SomeState]:shanxi Locality Name (eg, city) []:xi'an Organization Name (eg, company) [Internet Widgits Pty Ltd]:openlab

Organizational Unit Name (eg, section) []:RHCE

Common Name (e.g. server FQDN or YOUR name) []:server

Email Address []:andy@qq.com

[root@server ~]# cd /etc/nginx

[root@server nginx]# cp money.key money.key.org

[root@server nginx]# openssl rsa -in money.key.org -out money.key

Enter pass phrase for money.key.org: # 输 入私钥密码

writing RSA key

[root@server nginx]# vim /etc/nginx/nginx.conf

server {

listen 80; server_name www.openlab.com;

root /www/openlab; location /data

{

                alias /www/openlab/data;

                index index.html index.htm;

}

location /student {

                                alias /www/openlab/student;

                                index index.html index.htm; auth_basic "Please input password";

                                auth_basic_user_file /etc/nginx/passwd;

}

} # 增加以下内容

server {

                 listen 443 ssl http2;

                server_name www.openlab.com;

                location /money {

               alias /www/openlab/money;

                index index.html index.htm;

} ssl_certificate "/etc/nginx/money.crt";

ssl_certificate_key "/etc/nginx/money.key";

}

[root@server nginx]# systemctl restart nginx # Windows端打开浏览器输入 https://www.openlab.com/money测试

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

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

相关文章

Leetcode 1143:最长公共子序列

Leetcode原题 Leetcode 1143:最长公共子序列 题目标签 字符串 | 动态规划 题目描述 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串&…

Unity 镜头动画

在Unity中,新建摄像机并用Animation组件去记录和控制视角,实现镜头动画的过程主要包括以下几个步骤: 新建摄像机 创建摄像机: 打开Unity项目,在Hierarchy视窗中右键点击,选择GameObject -> Camera来创…

暴力枚举--烤鸡

题目背景 猪猪 Hanke 得到了一只鸡。 题目描述 猪猪 Hanke 特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke 吃鸡很特别,为什么特别呢?因为他有 10 种配料(芥末、孜然等)&#xff0…

ruoyi使用笔记

1.限流处理 RateLimiter PostMapping("/createOrder") ApiOperation("创建充值订单") RateLimiter(key CacheConstants.REPEAT_SUBMIT_KEY,time 10,count 1,limitType LimitType.IP) public R createOrder(RequestBody Form form) {//业务处理return …

YOLOV8逐步分解(2)_DetectionTrainer类初始化过程

接上篇文章yolov8逐步分解(1)--默认参数&超参配置文件加载继续讲解。 1. 默认配置文件加载完成后,创建对象trainer时,需要从默认配置中获取类DetectionTrainer初始化所需的参数args,如下所示 def train(cfgDEFAULT_CFG, use_pythonFalse…

python的神奇bug2

今天测试出一个很诡异的bug, 这个错误还真的很难发现 测试1 a [1,10,100] for i in a:print(i)if(i10):a[20,30,-1]一般来说我们在进行迭代时,a这个值时不能改动的,但是现在的问题时如果我不小心给改动了呢,结果如下 也就是说…

基于JSPM的美食推荐管理系统

背景 互联网的迅猛扩张彻底转变了全球各类组织的运营模式。自20世纪90年代起,中国各级政府和企事业单位便开始探索运用网络系统来处理管理事务。然而,早期的网络覆盖不广、用户接受度不高、相关网络法规不健全以及技术发展不成熟等因素,都曾…

智慧商场数字化创新需要有数字能力帮手

商场和商圈是是促进流通创新、培育新兴消费的载体。很多实体店为适应消费升级需求新变化,加快运用现代信息技术,建设智慧商店,创新消费场景。蚓链运用现代信息技术(互联网、物联网、5G、大数据、人工智能、云计算等)&a…

1.7.1 python 作业 15道

1、求出1 / 1 1 / 3 1 / 5……1 / 99的和 (1分之一1分之三1分支5....) sum0 for i in range(1,100,2): sum 1/i sum; print(sum) 2、用循环语句,计算2 - 10之间整数的循环相乘的值 (2*3*4*5....10) sum 1 for i in range(2,11): sum sum *…

达梦数据库新手上路排坑

数据库安装 这个没啥说的,按照官网教程操作,我使用的是docker进行安装 下载文件docker文件 官方下载地址- load -i dm8****.tar (注意修改为当前下载的文件)达梦官方文档注意修改为当前版本 docker run -d -p 5236:5236 --name dm8 --privilegedtrue -…

HarmonyOS 应用开发之PageAbility组件

PageAbility组件概述 PageAbility是包含UI、提供展示UI能力的应用组件,主要用于与用户交互。 开发者通过DevEco Studio开发平台创建PageAbility时,DevEco Studio会自动创建相关模板代码。PageAbility相关能力通过单独的featureAbility实现,…

STL —— vector(1)

博主首页: 有趣的中国人 专栏首页: C专栏 本篇文章主要讲解vector使用的相关内容 1. vector简介 vector 是 C 标准库中的一个容器类模板,它提供了动态数组的功能,可以方便地管理和操作元素的集合。下面是关于 vector 的一些基本信…

基于单片机智能家居控制系统设计

**单片机设计介绍,基于单片机智能家居控制系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能家居控制系统设计旨在实现家居设备的自动化控制和智能化管理,提高家庭生活的便利性和舒…

PyTorch数据结构

前言:因为最近开始读深度学习代码,主要都是用PyTorch框架,所以来补一些PyTorch基础,先从数据结构入手。 PyTorch数据结构 PyTorchPyTorch数据结构张量属性:维度、轴、形状常见的操作 数据集构造代码DataLoader 模块 参…

Redis 教程系列之Redis 事务(十六)

Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。事务是一个原子操作&#x…

2024年03月CCF-GESP编程能力等级认证C++编程八级真题解析

本文收录于专栏《C++等级认证CCF-GESP真题解析》,专栏总目录:点这里。订阅后可阅读专栏内所有文章。 一、单选题(每题 2 分,共 30 分) 第 1 题 为丰富食堂菜谱,炒菜部进行头脑风暴。肉类有鸡肉、牛肉、羊肉、猪肉4种,切法有肉排、肉块、肉末3种,配菜有圆白菜、油菜、…

react useState的初始化函数 初始化值为props时的同步问题 | setState函数的使用与异步更新

文章目录 react setState函数useState()钩子创建state如何根据props更新state值 setState的参数是下一个状态statesetState的参数是更新函数functionsetState异步与同步合成事件setState 实现原理 react setState函数 useState()钩子创建state const [state, setState] useS…

大数据做「AI大模型」数据清洗调优基础篇

关于本文 近期一直在协助做AI大模型数据清洗调优的工作,主要就是使用大数据计算引擎Spark做一些原始数据的清洗工作,整体数据量大约6PB-8PB之间,那么对于整个大数据量的处理性能将是一个重大的挑战,关于具体的调优参数配置项暂时不…

【论文阅读+复现】AniPortrait: Audio-Driven Synthesis of Photorealistic Portrait Animation

AniPortrait:音频驱动的逼真肖像动画合成。 code:Zejun-Yang/AniPortrait: AniPortrait: Audio-Driven Synthesis of Photorealistic Portrait Animation (github.com) paper:[2403.17694] AniPortrait: Audio-Driven Synthesis of Photoreal…

Soot入门学习笔记

Soot 适合参考的文档和教程如下: 北京大学软件分析技术 南京大学软件分析 Tutorials for soot McGill University 198:515 (vt.edu) 比较好的笔记资料: 南京大学《软件分析》课程笔记 比较好的入门作业或者案例: CSCE710 Assignmen…