雷池社区版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相关的资料,就不在当前文档专门教程,有需要可以根据上文进行搜索与学习

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/466206.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【原创】java+ssm+mysql收纳培训网系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

这款神器,运维绝杀 !!!

项目简介 CrowdSec 是一款开源的、基于社区协作的网络安全防护工具,它通过分析和共享IP信誉数据来对抗恶意行为。该软件不仅支持IPv6,而且相较于传统的Python实现,其采用Go语言编写,运行速度提升了60倍。CrowdSec 利用Grok模式解析…

推荐一款业内领先的建模工具:SAP PowerDesigner

SAP PowerDesigner是一款业内领先的建模工具,帮助您改进商务智能,打造更卓越的信息架构。通过该软件的元数据管理功能,可以构建关键信息资产的 360 度全方位视图,从而使数据管理、BI、数据集成和数据整合工作大获裨益。其分析功能…

Linux(CentOS)运行 jar 包

1、在本地终端运行,关闭终端,程序就会终止 java -jar tlias-0.0.1-SNAPSHOT.jar 发送请求,成功 关闭终端(程序也会终止) 发送请求,失败 2、在远程终端运行,关闭终端,程序就会终止 …

【JS学习】08. web API-事件进阶

Web APIs - 第3天 进一步学习 事件进阶,实现更多交互的网页特效,结合事件流的特征优化事件执行的效率 掌握阻止事件冒泡的方法理解事件委托的实现原理 事件流 事件流是对事件执行过程的描述,了解事件的执行过程有助于加深对事件的理解&…

Docker + Jenkins + gitee 实现CICD环境搭建

目录 前言 关于Jenkins 安装Jenkins docker中运行Jenkins注意事项 通过容器中的Jenkins,把服务打包到docker进行部署 启动Jenkins 创建第一个任务 前言 CI/CD(持续集成和持续交付/持续部署),它可以实现自动化的构建、测试和部署…

150道MySQL高频面试题,学完吊打面试官--关于索引的五道大厂面试题,跳槽面试很重要

前言 本专栏为150道MySQL大厂高频面试题讲解分析,这些面试题都是通过MySQL8.0官方文档和阿里巴巴官方手册还有一些大厂面试官提供的资料。 MySQL应用广泛,在多个开发语言中都处于重要地位,所以最好都要掌握MySQL的精华面试题,这也…

在培训班学网络安全有用吗

在当今数字化时代,网络安全问题日益凸显,成为了企业和个人关注的焦点。随着对网络安全人才需求的不断增长,各种网络安全培训班也如雨后春笋般涌现。然而,在培训班学网络安全真的有用吗? 一、网络安全的重要性与挑战 1. 信息时代的…

SQL Server 2008 R2 详细安装教程及错误解决教程

SQL Server 2008 R2 详细安装教程及错误解决教程 文章目录 SQL Server 2008 R2 详细安装教程及错误解决教程1.装载或解压ISO文件2. 运行setup程序3. 下载并安装.NET Framework3.54.选择全新安装或向现有安装添加功能5.输入秘钥同意条款6.选择安装类型7.设置角色8.功能选择9.实例…

HT32201 2x15W+30W免电感2.1声道D类音频功放

1 特性 ● 输出功率 2x12W24W(VDD14.5V, RL2x8Ω4Ω,THDN1%) 2x15W30W(VDD14.5V,RL2x8Ω4Ω,THDN10%) 2x8W16W(VDD12V,RL2x8Ω4Ω,THDN1%) 2x10W20W(VDD12V,RL2x8Ω4Ω,THDN10%) ● 单电源系统,4.5V-18V宽电压输入范围 ● 超过90…

Unreal5从入门到精通之如何在指定的显示器上运行UE程序

前言 我们有一个设备,是一个带双显示器的机柜,主显示器是一个小竖屏,可以触屏操作,大显示器是一个普通的横屏显示器。我们用这个机柜的原因就是可以摆脱鼠标和键盘,直接使用触屏操作,又可以在大屏观看,非常适合用于教学。 然后我们为这款机柜做了很多个VR项目,包括Uni…

揭秘全向轮运动学:机动艺术与上下位机通信的智慧桥梁

✨✨ Rqtz 个人主页 : 点击✨✨ 🌈Qt系列专栏:点击 🎈Qt智能车上位机专栏: 点击🎈 本篇文章介绍的是有关于全向轮运动学分析,单片机与上位机通信C代码以及ROS里程计解算的内容。 目录 大纲 ROS(机器人操作系统&…

动态规划理论基础和习题【力扣】【算法学习day.22】

前言 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴&am…

HTTP、WebSocket、gRPC 或 WebRTC:各种协议的区别

在为您的应用程序选择通信协议时,有很多不同的选择。 本文将了解四种流行的解决方案:HTTP、WebSocket、gRPC 和 WebRTC。 我们将通过深入学习其背后原理、最佳用途及其优缺点来探索每个协议。 通信方式在不断改进:变得更快、更方便、更可靠&…

大模型微调技术 --> LoRA 系列之 QLoRA (省资源能手)

QLoRA 1.摘要 作者提出了QLoRA,一种有效的微调方法,可以减少内存使用,足以在单个48 GB GPU上微调 65B 参数模型,同时保留完整的 16位 微调任务性能。 QLoRA 通过冻结的4位量化预训练语言模型将梯度反向传播到低秩适配器&#x…

一种ESB的设计

系统架构 ESB包括: ESB总控服务、业务应用集群、业务消息WEB服务、业务消息日志服务、运维管理平台、业务设计器。如下图所示 ESB总控服务 ESB总控服务承载了各项业务的运维和管理。主要包括: 业务流程的管理ESB内部不同模块间的通讯ESB系统设置和管理…

06 网络编程基础

目录 1.通信三要素 1. IP地址(Internet Protocol Address) 2. 端口号(Port Number) 3. 协议(Protocol) 2.TCP与UDP协议 三次握手(Three-Way Handshake) 四次挥手(…

使用sealos部署的集群在部署metrics-server时日志x509

1、下载文件并进行部署 wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml2、进行部署 kubectl apply -f components.yaml3、发现问题 pod容器已经启动但是健康检查没有通过 kubectl get pod -n kube-system metrics-server…

定海 - 利用Coraza引擎开发一个防火墙

1. 介绍: Coraza有大量的内置安全规则,包括 OWASP Top 10,同时将错误警报降至最低。CRS保护免受许多常见攻击类别的攻击,包括SQL注入(SQLi)、跨站点脚本(XSS)、PHP和Java代码注入、HTTPoxy、Shellshock、脚…

【Linux】冯诺依曼体系、再谈操作系统

目录 一、冯诺依曼体系结构: 1、产生: 2、介绍: 二、再谈操作系统: 1、为什么要管理软硬件资源: 2、操作系统如何进行管理: 3、库函数: 4、学习操作系统的意义: 一、冯诺依曼…