作业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 及密码可访问,其他用户被拒绝。
相关推荐
不会就选b30 分钟前
linux之进程管理(二)--替换
linux·运维·服务器
倔强的石头10635 分钟前
【Linux指南】动静态库系列(二):从源码复用到目标文件复用:为什么需要把 .o 打包成库
linux·运维·服务器
码农学院41 分钟前
GEO与SEO协同:从传统搜索到生成式搜索的平滑迁移路径
服务器·前端·python
步步精BBJconn44 分钟前
从GPU服务器到数据中心:AI服务器高压连接器的应用与发展趋势
大数据·运维·服务器·人工智能·科技·物联网
java_logo3 小时前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
爱写代码的森9 小时前
鸿蒙三方库 | harmony-utils之ImageUtil图片保存到本地详解
服务器·华为·harmonyos·鸿蒙·huawei
HLC++13 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室14 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
白露与泡影14 小时前
Arthas 实战指南:从方法耗时定位到 JVM 变量热修改
服务器·jvm·c#