如何通过所给的域名搭建多级Web网站且实现加密访问

基于NGINX

综合练习:请给 openlab 搭建 web 网站
网站需求:
1. 基于域名 www.openlab.com 可以访问网站内容为 welcome to openlab!!!
2. 给该公司创建三个子界面分别显示学生信息,教学资料 和缴费网站,基 www.openlab.com/data 网站访问教学资料    www.openlab.com/money网站访问缴费网站
3. 要求
1 )学生信息网站只有 song tian 两人可以访问,其他 用户不能访问。
2 )访问缴费网站实现数据加密基于 https 访问。
前提准备:
setenforce 0 
#关闭防火墙
systemctl stop firewalld
# 安装所需软件
[root@server ~]# yum install nginx httpd-tools -y
对本地的host文件添加dns映射
地址:  C:\Windows\System32\drivers\etc
添加内容:虚拟机ip   域名
创建网站
--创建网页目录及其网页
[root@server ~]# mkdir -p /www/openlab
3 [root@server ~]# echo 'welcom to openlab' > /www/openlab/index.html
4 [root@server ~]# vim /etc/nginx/nginx.conf

以下是写在文件中的内容
5 server {
6 listen 80;
7 server_name www.openlab.com;
8 root /www/openlab;
9 }


10 [root@server ~]# systemctl start nginx   启动nginx

测试:

创建教学资料子网站

[root@server ~]# mkdir /www/openlab/data
2 [root@server ~]# echo 'data' > /www/openlab/data/index.html
3 [root@server ~]# vim /etc/nginx/nginx.conf
# 接着之前的继续向下编写

8 # 增加如下子配置
9 location /data {
        alias /www/openlab/data;
        index index.html index.htm;
12                     }
13 }

15 [root@server ~]# systemctl restart nginx   重启服务

测试:

创建学生信息子网站 
[root@server ~]# mkdir /www/openlab/student
2 [root@server ~]# echo 'student' >
/www/openlab/student/index.html
3 [root@server ~]# useradd song
4 [root@server ~]# passwd song # 密码自设
5 [root@server ~]# useradd tian
6 [root@server ~]# passwd tian # 密码自设
7 [root@server ~]# htpasswd -c
/etc/nginx/passwd song # 密码自设
8 [root@server ~]# htpasswd /etc/nginx/passwd tian 
9 [root@server ~]# vim /etc/nginx.conf 

# 接着之前的继续向下编写
18 # 增加如下子配置
19 location /student
20 {
    alias  /www/openlab/student;
    index index.html index.htm;
23  auth_basic "Please input password";
     auth_basic_user_file /etc/nginx/passwd;
25         }
26 }

27 [root@server ~]# systemctl restart nginx   重启服务

不同的浏览器可能有不同的提示形式 这里只用输入我们设计的两个账户密码就可以登录进入 最后就是学生信息的界面 student

创建缴费子网站

因为要求此网站实现数据加密  所以我们需要制作证书

1 [root@server ~]# mkdir /www/openlab/money
3 [root@server ~]# echo 'money' > /www/openlab/money/index.html
5 [root@server ~]# openssl genrsa -aes128  2048 > /etc/nginx/money.key
6 Generating RSA private key, 2048 bit long
modulus (2 primes)
7 ....................+++++
8 ...................................+++++
9 e is 65537 (0x010001)
10 Enter pass phrase: # 输入加密私钥的密码
11 Verifying - Enter pass phrase: # 在输入一遍
12 [root@server ~]# openssl req -utf8 -new -key /etc/nginx/money.key -x509 -days 365 -out /etc/nginx/money.crt # 制作证书
13 Enter pass phrase for /etc/nginx/money.key:
14 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.
20 -----# 证书信息:
21 Country Name (2 letter code) [AU]:86
22 State or Province Name (full name) [SomeState]:shanxi
23 Locality Name (eg, city) []:xi'an
24 Organization Name (eg, company) [Internet
Widgits Pty Ltd]:openlab
25 Organizational Unit Name (eg, section)
[]:RHCE
26 Common Name (e.g. server FQDN or YOUR name)
[]:server
27 Email Address []:hh@qq.com
28
29 [root@server ~]# cd /etc/nginx
30 [root@server nginx]# cp money.key money.key.org
31 [root@server nginx]# openssl rsa -in money.key.org -out money.key
32 Enter pass phrase for money.key.org: # 输入私钥密码
33 writing RSA key
34 [root@server nginx]# vim  /etc/nginx/nginx.conf


51 # 增加以下内容
52 server {
53     listen 443 ssl http2;
54     server_name  www.openlab.com;
55 location /money {
    alias /www/openlab/money;
    index index.html index.htm;
         }
ssl_certificate  "/etc/nginx/money.crt";
ssl_certificate_key  "/etc/nginx/money.key";
    }

63 [root@server nginx]# systemctl restart nginx    重启服务

测试:

到此 题目中的问题就解决了。
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值