NoteZ_技术博客 NoteZ_技术博客
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)

NoteZ_技术博客

前端界的小学生
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)
  • Web技术

  • Git笔记

  • Linux文档

  • Markdown

  • Nginx文档

    • Nginx 常用配置清单
    • Nginx 配置404错误页面重定向
    • Nginx 配置文件(nginx.conf)
    • Nginx二级目录反向代理网站
    • Nginx出现403跨域后端解决方法
    • Nginx访问权限控制
      • allow指令
      • deny指令
      • 禁止 IP 访问
      • 不允许某一个文件夹被访问
      • 不允许某一类文件被访问
    • windows下安装nginx和基本配置
    • 在 Linux 下配置 Nginx 方法(启动、停止与重启)
    • 基于wujie(无界)和 Nginx 同一端口下部署多个 Vue 项目
    • 解决 Nginx 下 history 模式面刷新空白(404)问题
    • nginx配合webpack打包实现二级目录访问
    • Nginx通过二级目录映射不同的反向代理
    • Nginx配置WebSocket
    • Nginx配置维护页面
    • Nginx安装ngx_http_ssl_module模块使其支持SSL_https
  • Npm笔记

  • 技术文档

  • 其他文档

  • 前端开发
  • Nginx文档
NoteZ
2021-05-05
目录

Nginx访问权限控制

# allow指令

用于设置允许访问Nginx的客户端IP

allow address | CIDR | all
1

address:允许访问的客户端IP,不支持同时设置多个。如果有多个IP需要设置,需要重复使用allow指令 CIDR:允许访问的客户端的CIDR地址,例如 172.10.10.1/100,前面是32位IP地址,后面“\25”代表该IP地址中前25位是网络部分,其余位代表主机部分。

all:代表允许所有客户端访问。

注意

从Nginx 0.8.22版本后,该命令也支持IPv6地址,比如: allow 2620💯e000::8001;

# deny指令

与allow正好相反,用于设置禁止访问Nginx客户端IP

deny address | CIDR | all;
1

这两个指令可以在http块、server块或者location块中配置。

location / {
    deny 192.168.1.1;
    allow 192.168.1.0/24;
    deny all;
}
1
2
3
4
5

在以上例子中192.168.1.0/24客户端是可以访问的。因为,Nginx配置在解析的过程中,遇到deny指令或者allow指令是按照顺序对当前客户端的连接进行访问权限检查的。如果遇到匹配的配置时,则停止继续向下搜索相关配置。因此,当192.168.1.0/24客户端访问时,Nginx在第三行解析配置发现允许该客户端访问,就不会继续向下解析第4行了。

# 禁止 IP 访问

进入到 nginx.conf 文件中,添加下 deny ip 其中ip为你要禁止的ip地址,例如:

location / {
    root   /usr/nginx/html;
    index  index.html index.htm;
    deny 127.0.0.1;  # 禁止 127.0.0.1 这个ip访问
}
1
2
3
4
5

只允许某一个 IP 访问时(注意:allow 与 deny 上下顺序不可上下颠倒)例如:

location / {
    root   /usr/nginx/html;
    index  index.html index.htm;
    allow 127.0.0.1;  # 只允许 127.0.0.1 这个ip访问
    deny all;
}
1
2
3
4
5
6

# 不允许某一个文件夹被访问

例如不允许所有人访问 admin 这个文件夹可以这样配置:

location /{
    root   /usr/nginx/html;
    index  index.html index.htm;
}
location =/admin{
    deny all;
}

# 使用正则
#location ^~/admin/{
#    deny all;
#}
1
2
3
4
5
6
7
8
9
10
11
12

# 不允许某一类文件被访问

例如不允许所有人访问 .php 结尾的文件时可以这样配置:

location /{
    root   /usr/nginx/html;
    index  index.html index.htm;
}
location ~/.php${
    deny all;
}
1
2
3
4
5
6
7

禁止所有外网ip,仅允许内网ip,配置如下:

location /{
    root   /usr/nginx/html;
    index  index.html index.htm;
}
location / {
  deny   127.168.1.1;
  allow  127.168.1.0/24;
  deny    all;
}
1
2
3
4
5
6
7
8
9

以上只是简单的介绍了一下权限配置,如有其它需求的话可以根据以上为基础自由组合进行配置即可。

#Nginx
上次更新: 2024/01/30, 00:35:17
Nginx出现403跨域后端解决方法
windows下安装nginx和基本配置

← Nginx出现403跨域后端解决方法 windows下安装nginx和基本配置→

最近更新
01
Gitea数据备份与还原
03-10
02
Linux 中使用 rsync 同步文件目录教程
03-10
03
Linux 使用 rsync 互相传输同步文件的简单步骤
03-08
更多文章>
Theme by Vdoing | Copyright © 2019-2025 NoteZ,All rights reserved | 冀ICP备2021027292号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式