6.2第三次作业

综合练习:请给openlab搭建web网站

网站需求:

1.基于域名www.openlab.com可以访问网站内容为welcome to openlab!!!

2.给该公司创建三个子界面分别显示学生信息,教学资料

和缴费网站,基于,www.openlab.com/data网站访问教学资料

www.openlab.com/money网站访问缴费网站。

3.要求

(1)学生信息网站只有song和tian两人可以访问,其他

用户不能访问。

(2)访问缴费网站实现数据加密基于https访问。

第一步:准备工作

# 安装所需软件
[root@server ~]# yum install nginx httpd-tools -y # Windows的
C:\Windows\System32\drivers\etc\hosts 文件进行DNS映射
192.168.223.129 www.openlab.com # 添加

第二步:创建www.openlab.com网站

# 创建网页目录及网页
[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
6 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:  #输入123456
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) [Some-State]: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: # 输入私钥密码123456
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/648804.shtml

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

相关文章

css垂直水平居中(父元素宽高有无情况)+ flex用法

垂直水平居中----6种方法 知道父元素具体宽高时: 父元素设置display:flex, 子元素设置 margin:auto.父元素相对定位,子元素绝对定位 4个属性都设置0,再设置margin:auto.父元素相对定位,子元素绝对定位,left:50%,top:…

sql管理工具archery简介

在平时的工作过程中,我们肯定会遇到使用sql平台的场景,业内也有很多工具,类似阿里云的dms,但是这个是和云厂商绑定的,我们可能一般没有用到阿里云组件就比较困难了,那还有什么选项了,经过调研&a…

leetcode常见错误

2024年1月26日 Line 1037: Char 34: runtime error: addition of unsigned offset to 0x503000000070 overflowed to 0x50300000006c (stl_vector.h) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c…

redis主从复制薪火相传

一.主从复制 1、是什么 主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主 2、能干嘛 读写分离,性能扩展(主 写 从 读) 容…

yolov5转onnx到ncnn

测试代码6.2 检测这一套都没啥说的主要在onnx转ncnn这步 python export.py --data data/xuehua.yaml --weights runs/train/exp4/weights/best.pt --trainpython -m onnxsim runs/train/exp4/weights/best.onnx runs\train\exp4\weights\best-sim.onnx(这步重要),如…

字符串学习笔记

一、字符串的概念 字符串是一种在编程中常用的数据类型,用于表示文本数据。在 Python 中,字符串是不可变的序列,可以包含字母、数字、符号等字符。Python 允许使用单引号 () 或双引号 (") 来创建字符串。 strOne string strTwo &quo…

Python学习从0到1 day9 Python函数

苦难是花开的伏笔 ——24.1.25 函数 1.定义 函数:是组织好的,可重复使用的,用来实现特定功能的代码段 2.案例 在pycharm中完成一个案例需求:不使用内置函数len(),完成字符串长度的计算 #统计字…

实习记录——第四天

今天还是学了一天: 我的日报: 1.25日总结: 一、完成三道CTF题目: 信息收集题目,目录扫描,但是我的工具没扫出来,往工具字典里加入了字段;sql注入题目,考察布尔盲注&…

网站无法通过域名访问有哪些原因?

如果网站无法通过域名访问,可能涉及多个方面的问题。以下是一些可能导致这种情况的原因和解决方法: 域名解析问题: DNS配置错误: 检查域名的DNS配置是否正确,确保域名解析到正确的IP地址。 DNS缓存问题: 如…

[go] 中介者模式

设计模式 中介者模式是一种行为设计模式, 能让你减少对象之间混乱无序的依赖关系。 该模式会限制对象之间的直接交互, 迫使它们通过一个中介者对象进行合作。 模型说明 组件(Component)是各种包含业务逻辑的类。每个组件都有一个…

伊恩·斯图尔特《改变世界的17个方程》薛定谔方程笔记

想法是等这学期学到薛定谔方程后再把整份完善下。 它告诉我们什么? 这个方程不是把物质作为粒子,而是作为波,并描述这样的波如何传播。 为什么重要? 薛定谔方程是量子力学的基础,它与广义相对论一起构成了当今最有效的…

NGINX如何实现rtmp推流服务

最近直播大火,直播推流软件遍地开花,那么用NGINX如何进行推流呢?下面我们就简单的介绍一下用NGINX的rtmp模块如何实现视频推流,我们主要从一下几点介绍: 推流拉流推流认证拉流认证 package mainimport ("fmt&qu…

Vue 3.0中Treeshaking特性(详细解析)

文章目录 一、是什么二、如何做Vue2 项目Vue3 项目 三、作用参考文献 一、是什么 Tree shaking 是一种通过清除多余代码方式来优化项目打包体积的技术,专业术语叫 Dead code elimination 简单来讲,就是在保持代码运行结果不变的前提下,去除…

ctfshow-命令执行

大佬文章 L i n u x \rm Linux Linux 下空格绕过 无参数 r c e \rm rce rce 无字符 r c e \rm rce rce web29 通配符: *:匹配任意多个字符 ?:匹配任意一个字符 []:匹配某个范围的字符( [ a d ] [ad] [ad] 表示 …

day05-盒子模型

01-选择器 结构伪类选择器 基本使用 作用:根据元素的结构关系查找元素。 li:first-child {background-color: green; } :nth-child(公式) 提示:公式中的n取值从 0 开始。 伪元素选择器 作用:创建虚拟元素(伪元素)…

基于单片机的感应自动门控制器的设计

摘要 现如今自动化、信息化程度越来越高, 单片机的应用领域也越来越广, 成为人们生活不可或缺的一部分。随省社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便千生活的自动控制系统开始进入了人们的生活,以单片机为核…

vue项目中如何使用SVG图标

IconFont使用的不足:图标添加、修改、删除以后在线链接需要更新离线资源需要重新下载项目代码需要同步更新。 在项目不断更新和迭代的过程中,图标的增减变化还没有稳定的情况下,开发人员的工作效率会明显下降。 那么有没有一个图标应用方式…

【C++】list讲解及模拟

目录 list的基本介绍 list模拟实现 一.创建节点 二.迭代器 1.模版参数 2.迭代器的实现: a. ! b. c. -- d. *指针 e.&引用 整体iterator (与const复用): 三.功能实现 1.模版参数 2.具体功能实现: 2.1 构造函数 2.2 begi…

【操作系统】实验九 写一个设备驱动程序

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要&…

QT基础篇(17)QML编程基础

1.QML概述 QML(Qt Meta-Object Language)是一种声明性语言,它被用于描述Qt框架中用户界面的结构和行为。QML提供了一种简洁、灵活的方式来创建动态和交互式的界面。 QML基于JavaScript语法,通过使用QML类型和属性来定义界面的元…