当前位置: 首页 > news >正文

雷池社区版7.1新版本自定义NGINX配置分析

简单介绍雷池,是一款简单好用, 效果突出的 Web 应用防火墙(WAF),可以保护 Web 服务不受黑客攻击。

雷池通过阻断流向 Web 服务的恶意 HTTP 流量来保护 Web 服务。雷池作为反向代理接入网络,通过在 Web 服务前部署雷池,可在 Web 服务和互联网之间设置一道屏障。

雷池社区版最近发布了7.1版本

image.png

有一个重大功能:站点详情新增 “自定义 NGINX 配置”,支持在站点配置的 location 块中添加自定义的指令 而且当前功能所有人都可以使用,属于社区版也可以用的功能 在社区内引起了大家的肯定

问题就来了该如何使用当前功能 首先连理解,什么是location块 ?

○ location块是 Nginx 配置文件中的一个重要部分,用于定义基于请求的 URI(统一资源标识符)来匹配请求,并为匹配到的请求应用特定的配置。例如,当客户端请求http://example.com/api/users时,Nginx 会根据location块的配置来决定如何处理这个请求,包括但不限于返回静态文件、反向代理到后端服务器或者执行其他特定的操作。

在location块中都支持哪些指令呢?

NGINX Location 相关指令教程

在 NGINX 的 location 块中,可以添加许多指令来控制请求的处理方式。以下是主要的 location 块指令的完整列表及其用途。

基本指令

  1. proxy_pass:用于将请求转发到后端服务器,常见于反向代理场景。

    location /api/ {proxy_pass http://backend_server;
    }
    
  2. rootalias:用于指定静态资源目录。

    • root:基于请求路径的根路径指定目录。
    • alias:直接将请求路径映射到指定目录。

      location /images/ {
      root /var/www;
      }location /static/ {
      alias /var/www/static/;
      }
      
  3. try_files:在多个路径中查找文件,常用于处理文件存在检查。

    location / {try_files $uri $uri/ /index.html;
    }
    
  4. rewrite:用于重写 URL,常用于重定向。

    location /old-path/ {rewrite ^/old-path/(.*)$ /new-path/$1 permanent;
    }
    
  5. return:直接返回指定的状态码或内容。

    location /not-found {return 404 "Page not found";
    }
    

缓存与头部控制

  1. expires:设置响应缓存的过期时间,适用于静态资源。

    location ~* \.(jpg|jpeg|png|gif|css|js)$ {expires 30d;
    }
    
  2. add_header:向响应添加自定义 HTTP 头部。

    location / {add_header X-Frame-Options "DENY";
    }
    

日志控制

  1. access_log:指定该 location 的访问日志位置。

    location /admin/ {access_log /var/log/nginx/admin_access.log;
    }
    
  2. error_log:指定该 location 的错误日志位置和级别。

    location /admin/ {error_log /var/log/nginx/admin_error.log warn;
    }
    

连接和请求限制

  1. limit_conn:限制同一 IP 地址的并发连接数。

    limit_conn_zone $binary_remote_addr zone=addr:10m;location /download/ {limit_conn addr 1;
    }
    
  2. limit_req:限制请求的频率。

    limit_req_zone $binary_remote_addr zone=req_zone:10m rate=5r/s;location /api/ {limit_req zone=req_zone burst=10 nodelay;
    }
    

安全与权限控制

  1. auth_basic:为指定路径添加基本认证。

    location /secure/ {auth_basic "Restricted Area";auth_basic_user_file /etc/nginx/.htpasswd;
    }
    
  2. denyallow:设置 IP 地址的访问权限控制。

    location /admin/ {allow 192.168.1.0/24;deny all;
    }
    

缓存优化

  1. proxy_cache:配置反向代理的缓存。

    location / {proxy_cache my_cache;proxy_cache_key $scheme$proxy_host$request_uri;
    }
    
  2. proxy_cache_valid:定义缓存的有效时间。

    location / {proxy_cache_valid 200 10m;
    }
    

压缩

  1. gzip:启用 GZIP 压缩,减少传输数据量。

    location / {gzip on;gzip_types text/plain text/css application/json application/javascript;
    }
    

反向代理优化

  1. proxy_set_header:向后端服务器传递特定的请求头。

    location / {proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;
    }
    
  2. proxy_buffering:启用或禁用缓冲响应。

    location / {proxy_buffering on;
    }
    
  3. proxy_read_timeout:设置从后端服务器读取响应的超时时间。

    location / {proxy_read_timeout 60s;
    }
    

其他指令

  1. internal:将 location 块设置为内部使用,不允许外部访问。

    location /internal/ {internal;proxy_pass http://internal_server;
    }
    
  2. index:指定访问目录时的默认文件。

    location / {index index.html index.htm;
    }
    
  3. autoindex:启用目录列表显示,适用于文件目录浏览。

    location /files/ {autoindex on;
    }
    
  4. stub_status:显示 NGINX 的当前状态,适用于监控。

    location /nginx_status {stub_status on;
    }
    

由于都是nginx相关的资料,就不在当前文档专门教程,有需要可以根据上文进行搜索与学习

注意的是,配置可能会改坏,谨慎在业务环境进行测试

相关文章:

雷池社区版7.1新版本自定义NGINX配置分析

简单介绍雷池,是一款简单好用, 效果突出的 Web 应用防火墙(WAF),可以保护 Web 服务不受黑客攻击。 雷池通过阻断流向 Web 服务的恶意 HTTP 流量来保护 Web 服务。雷池作为反向代理接入网络,通过在 Web 服务前部署雷池,可在 Web 服…...

[SAP ABAP] 面向对象程序设计-类和对象

面向对象开发的特点:封装、继承和多态 什么是类和对象? 类(CLASS)是创建对象的模板,对象(OBJECT)是类的实例 一个类可以创建多个对象 类 > 类型 对象 > 个体 在ABAP语言中,定义一个类,需要包含定义(defin…...

『大模型笔记』IBM技术团队:什么是智能体型RAG!

『大模型笔记』IBM技术团队:什么是智能体型RAG! 文章目录 一. 『大模型笔记』IBM技术团队:什么是智能体型RAG!二. 参考文献一. 『大模型笔记』IBM技术团队:什么是智能体型RAG! ✅检索增强生成(RAG)是一种结合检索和生成能力的技术,通过从向量数据库检索相关信息作为上…...

WPF 中 NavigationWindow 与 Page 的继承关系解析

官网解析: NavigationWindow 类 | Page 类 public class BaseWindow: NavigationWindow{} public partial class CountPage : Page{} 都是创建的WPF界面有什么区别? 在 WPF(Windows Presentation Foundation)开发中&#…...

WebRTC基础理论和通话原理

WebRTC理论知识 1.什么是WebRTC? WebRTC(Web RealTime Communication)是 Google于2010以6829万美元从 Global IP Solutions 公司购买,并 于2011年将其开源,旨在建立一个互联网浏览器间的实时通信的平台,让 WebRTC技术…...

NPU 可不可以代替 GPU

结论 先说结论,GPU分为可以做图形处理的传统意义上的真GPU,做HPC计算的GPGPU和做AI加速计算的GPGPU,所以下面分别说: 对于做图形处理的GPU,这个就和NPU 一样,属于DSA,没有替代性。当然&#xf…...

Vue3版本的uniapp项目运行至鸿蒙系统

新建Vue3版本的uniapp项目 注意,先将HbuilderX升级至最新版本,这样才支持鸿蒙系统的调试与运行; 按照如下图片点击,快速升级皆可。 通过HbuilderX创建 官方文档指导链接 点击HbuilderX中左上角文件->新建->项目 创建vue3…...

部署stable-diffusion3.5 大模型,文生图

UI 使用推荐的ComfyUI,GitHub 地址,huggingface 需要注册登录,需要下载的文件下面有说明 Dockerfile 文件如下: FROM nvidia/cuda:12.4.0-base-ubuntu22.04 RUN apt-get update && apt-get install python3 pip git --n…...

数据采集之selenium模拟登录

使用Cookijar完成模拟登录 本博文爬取实例为内部网站,请sduter使用本人账号替换*********(学号),***(姓名)进行登录 from selenium import webdriver from selenium.webdriver.common.by import By from…...

机器学习中的两种主要思路:数据驱动与模型驱动

在机器学习的研究和应用中,如何从数据中提取有价值的信息并做出准确预测,是推动该领域发展的核心问题之一。在这个过程中,机器学习方法主要依赖于两种主要的思路:数据驱动与模型驱动。这两种思路在不同的应用场景中发挥着至关重要…...

【计算机网络】TCP协议面试常考(一)

三次握手和四次挥手是TCP协议中非常重要的机制,它们在多种情况下确保了网络通信的可靠性和安全性。以下是这些机制发挥作用的一些关键场景: 三次握手的必要性: 同步序列号: 三次握手确保了双方的初始序列号(ISN&#…...

C#/.NET/.NET Core学习路线集合,学习不迷路!

前言 C#、.NET、.NET Core、WPF、WinForm、Unity等相关技术的学习、工作路线集合(持续更新)!!! 全面的C#/.NET/.NET Core学习、工作、面试指南:https://github.com/YSGStudyHards/DotNetGuide C#/.NET/.N…...

使用哈希表做计数排序js

function hashSort(arr) {// 创建一个哈希表(对象),统计每个数字出现的次数let hashMap {};arr.forEach(num > {if (hashMap[num]) {hashMap[num] 1;} else {hashMap[num] 1;}});// 根据哈希表的键值对构建排序后的数组let sortedArr …...

京津冀自动驾驶技术行业盛会|2025北京自动驾驶技术展会

“自动驾驶技术”已经成为全球汽车产业的焦点之一。在这个充满创新与变革的时代,“2025北京国际自动驾驶技术展览会”拟定于6月份在北京亦创国际会展中心盛大开幕,为全球自动驾驶技术领域的专业人士、企业以及爱好者们提供了一个交流与展示的平台。作为一…...

Chrome与火狐哪个浏览器的隐私追踪功能更好

当今数字化时代,互联网用户越来越关注在线隐私保护。浏览器作为我们探索网络世界的重要工具,其隐私追踪功能的强弱直接影响到个人信息的安全。本文将对比Chrome和Firefox这两款流行的浏览器,在隐私追踪防护方面的表现,并探讨相关优…...

探索 Python 图像处理的瑞士军刀:Pillow 库

文章目录 探索 Python 图像处理的瑞士军刀:Pillow 库第一部分:背景介绍第二部分:Pillow库是什么?第三部分:如何安装这个库?第四部分:简单的库函数使用方法第五部分:结合场景使用库第…...

JavaScript中的if、else if、else 和 switch

写在前面 在编程中,条件判断是控制程序流程的重要手段。JavaScript 提供了多种方式来进行条件判断,包括 if、else if、else 和 switch。本文将详细介绍这些语句的语法、用法以及一些相关的注意事项。 if、else if 和 else 语法 if、else if 和 else …...

Python 使用 langchain 过程中的错误总结

1. 环境 conda activate langchain pip install -U langchain$ pip show langchain Name: langchain Version: 0.3.7 Summary: Building applications with LLMs through composability Home-page: https://github.com/langchain-ai/langchain Author: Author-email: Licens…...

MySQL基础篇总结

基本SQL语句分类 DDL(数据定义语言) 数据定义语言,用来定义数据库对象(数据库、表、字段)。 数据控制语言,用来创建数据库用户、控制数据库的控制权限。 数据库操作 查询所有数据库: SHOW DATABASES; 查询当前数据库…...

全面解析:网络协议及其应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 # 全面解析:网络协议及其应用 文章目录 网络协议概述定义发展历程主要优势 主要网络协议应用层协议传输层协议网络层…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

pam_env.so模块配置解析

在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

网络编程(UDP编程)

思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...