JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

网页服务-Nginx - 访问控制 - 基于 IP

wys521 2024-09-12 23:12:48 精选教程 20 ℃ 0 评论

基本环境

底层: Windows 11 x64
虚拟化层:VMWare Workstation 17.0.2
虚拟化兼容性:ESXi 6.7
虚拟硬件:
    CPU: 4 Core
    RAM: 16 GB
    HDD: 128 GB SCSI
    NetWork: NAT
操作系统版本: CentOS 7.9.2207 Mininal 无更新、无升级内核
                无系统更新
                无内核升级
                关闭 SELinux
                配置 NTP 时间同步
                安装 Open VM Tools
                美化 CLI

基本定义

#    基于IP的访问控制:为提高站点访问安全性,可以为站点访问加以控制,而基于IP的访问控制即通过IP地址或者IP地址范围控制站点访问权限的解决方案
#    访问控制策略编写需要注意,先写允许部分、再写禁止部分,否则会全部禁止无法使用
#    允许多个地址或地址范围,则需要编写多行策略

场景设计

#    此处,基本设置沿用 《网页服务-Nginx - 虚拟主机 - 基于 IP》内容,因此下面不在创建 新的 网站目录和文件
#    默认网站 数据目录 
/data/www/
#    创建两个 网站数据目录
Site 1 站点 /data/www/site1
Site 2 站点 /data/www/site2
#    设定 网站
Site 1 站点 /data/www/site1 访问路径为 http://{IP 2}/ 访问控制:进允许 172.16.26.199 访问
Site 2 站点 /data/www/site2 访问路径为 http://{IP 3}/ 访问控制:进允许 172.16.26.0/24 网段访问

编辑 虚拟主机 配置文件

#    方法 1 : 创建 虚拟主机配置文件
nano /etc/nginx/conf.d/vt-host.conf
#    修改 如下内容
#    {
#    基于 IP 虚拟 主机 Site 1
#    IP地址 172.16.26.131
#    访问路径 /data/www/site1
#    允许 172.16.26.199 访问
#    禁止 其他任意地址 访问

server {
    listen 172.16.26.131;
    root /data/www/site1;
    location / {
        index  index.html index.htm;
        allow 172.16.26.199;
        deny all;
    }
}
#    基于 IP 虚拟 主机 Site 2
#    IP地址 172.16.26.132
#    访问路径 /data/www/site2
#    允许 172.16.26.X/24 整个网段访问
#    禁止 其他任意地址 访问

server {
    listen 172.16.26.132;
    root /data/www/site2;
    location / {
        index  index.html index.htm;
        allow 172.16.26.0/24;
        deny all;
    }
}

#    }

#    方法 2 : 命令行直接创建 虚拟主机 配置文件
sudo cat <<EOF > /etc/nginx/conf.d/vt-host.conf
#    Nginx 虚拟主机 专用配置文件
#    /etc/nginx/conf.d/vt-host.conf
#    author: SRover Lee

#    基于 IP 虚拟 主机 Site 1
#    IP地址 172.16.26.131
#    访问路径 /data/www/site1
#    允许 172.16.26.199 访问
#    禁止 其他任意地址 访问

server {
    listen 172.16.26.131;
    root /data/www/site1;
    location / {
        index  index.html index.htm;
        allow 172.16.26.199;
        deny all;
    }
}
#    基于 IP 虚拟 主机 Site 2
#    IP地址 172.16.26.132
#    访问路径 /data/www/site2
#    允许 172.16.26.X/24 整个网段访问
#    禁止 其他任意地址 访问

server {
    listen 172.16.26.132;
    root /data/www/site2;
    location / {
        index  index.html index.htm;
        allow 172.16.26.0/24;
        deny all;
    }
}

EOF

重新启动 Nginx 服务

#    重新启动 Nginx 服务
systemctl restart nginx.service

访问地址

#    基于 IP 虚拟主机 访问地址
http://{IP 2}/
http://{IP 3}/



本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表