作业11.9

1. 安装依赖工具

复制代码
# 安装Nginx
yum install -y nginx httpd-tools
systemctl start nginx
systemctl enable nginx

# 关闭防火墙(测试环境,生产环境需配置规则)
systemctl stop firewalld
systemctl disable firewalld

2. 生成 SSL 证书(用于 HTTPS)

bash

复制代码
# 创建证书目录
mkdir -p /etc/nginx/ssl

# 生成自签名证书(按提示输入信息,Common Name填www.openlab.com)
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout /etc/nginx/ssl/openlab.key \
  -out /etc/nginx/ssl/openlab.crt

3. 创建网站目录及页面文件

bash

复制代码
# 创建目录结构
mkdir -p /var/www/openlab/{student,data,money}

# 编写根页面内容(www.openlab.com)
echo "<h1>welcome to openlab!!!</h1>" > /var/www/openlab/index.html

# 编写学生信息页面(/student)
echo "<h1>学生信息页面</h1>" > /var/www/openlab/student/index.html

# 编写教学资料页面(/data)
echo "<h1>教学资料页面</h1>" > /var/www/openlab/data/index.html

# 编写缴费网站页面(/money)
echo "<h1>缴费网站页面</h1>" > /var/www/openlab/money/index.html

# 设置目录权限
chown -R nginx:nginx /var/www/openlab
chmod -R 755 /var/www/openlab

4. 创建用户认证(限制 student 访问)

bash

复制代码
# 创建认证文件目录
mkdir -p /etc/nginx/auth

# 添加用户song和tian(执行后输入密码,例如123456)
htpasswd -c /etc/nginx/auth/student_auth song  # 首次创建用-c
htpasswd /etc/nginx/auth/student_auth tian     # 后续用户无需-c

# 设置认证文件权限
chmod 600 /etc/nginx/auth/student_auth
chown nginx:nginx /etc/nginx/auth/student_auth

5. 配置 Nginx 虚拟主机

bash

复制代码
# 创建配置文件
cat > /etc/nginx/conf.d/openlab.conf << 'EOF'
server {
    listen 80;
    server_name www.openlab.com;
    return 301 https://$host$request_uri;  # HTTP强制跳转HTTPS
}

server {
    listen 443 ssl;
    server_name www.openlab.com;

    ssl_certificate /etc/nginx/ssl/openlab.crt;
    ssl_certificate_key /etc/nginx/ssl/openlab.key;

    root /var/www/openlab;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location /student {
        auth_basic "请输入用户名密码";
        auth_basic_user_file /etc/nginx/auth/student_auth;
        try_files $uri $uri/ /student/index.html;
    }

    location /data {
        try_files $uri $uri/ /data/index.html;
    }

    location /money {
        try_files $uri $uri/ /money/index.html;
    }
}
EOF

6. 验证配置并生效

bash

复制代码
# 检查Nginx配置是否正确
nginx -t

# 重启Nginx使配置生效
systemctl restart nginx

7. 本地 hosts 解析(客户端操作)

在测试的电脑上修改 hosts 文件(需管理员权限):

  • Windows :编辑 C:\Windows\System32\drivers\etc\hosts,添加:

    plaintext

    复制代码
    服务器IP www.openlab.com
  • Linux/macOS :编辑 /etc/hosts,添加同上内容。

测试验证

  1. 访问 http://www.openlab.com → 自动跳转至 https://www.openlab.com,显示 welcome to openlab!!!
  2. 访问 https://www.openlab.com/datahttps://www.openlab.com/money → 直接显示对应页面。
  3. 访问 https://www.openlab.com/student → 弹出登录框,输入 songtian 及密码可访问,其他用户被拒绝。
相关推荐
AOwhisky13 分钟前
Linux逻辑卷管理:从“固定隔间”到“弹性存储池”的智慧
linux·运维·服务器
翼龙云_cloud28 分钟前
阿里云渠道商:如何使用弹性伸缩来实现计算资源的弹性配置?
服务器·阿里云·云计算
05大叔1 小时前
大事件Day02
运维·服务器
五仁火烧1 小时前
Vue3 项目的默认端口行为
服务器·vue.js·nginx·容器·vue
SelectDB1 小时前
从 Greenplum 到 Doris:集群缩减 2/3、年省数百万,度小满构建超大规模数据分析平台经验
数据库·数据分析·apache
C Yu小白2 小时前
Linux系统调用与文件操作详解
linux·运维·服务器
ZFB00012 小时前
【麒麟桌面系统】V10-SP1 2503 系统知识——常见用户组简介
linux·运维·kylin
EndingCoder2 小时前
类的继承和多态
linux·运维·前端·javascript·ubuntu·typescript
ZFB00013 小时前
【麒麟桌面系统】V10-SP1 2503 系统知识——添加用户
linux·运维·kylin
ZFB00013 小时前
【麒麟桌面系统】V10-SP1 2503 系统知识——进入救援模式
linux·运维·kylin