返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >Nginx内容过滤器-subs_filter
  • 557
分享到

Nginx内容过滤器-subs_filter

phpPoweredby金山文档 2023-08-31 14:08:59 557人浏览 独家记忆
摘要

今天在工作中偶然发现一个有意思的现象,我们的开发环境和演练环境都是同样的代码,同样的环境。但是演练环境打开的网页在窗口外层都会包裹着一个红色的边框,右上角还有一个圆形的红底Test标识。大概是这样的一个效果:

今天在工作中偶然发现一个有意思的现象,我们的开发环境和演练环境都是同样的代码,同样的环境。但是演练环境打开的网页在窗口外层都会包裹着一个红色的边框,右上角还有一个圆形的红底Test标识。大概是这样的一个效果:

当时就想,这是怎么出来的呢,直觉告诉我这一定不是代码层追加上来的,因为两个环境的代码都是一毛一样的。应该是服务器层强加上去的,于是报着这种对技术的好奇,终于让在百度上找到了结果。

说实话,这种都不知道如何提问的问题,在百度上去搜索也是费了我一番心思,我直接搜索:Nginx 内容替换

这样多搜索了几次,我终于知道原来nginx有一个扩展模块叫做subs_filter,专门就是用来内容过滤用的,看了一个它的介绍功能还挺强大的。

找到了线索,自己总想也实践一把,于是下班回家后,我登录到我的阿里云服务器,决定来折腾一把,毕竟搞技术的,不去真正实践一把那永远也只是停留在理论之上,我们要实论结合实践才能真的算是掌握,尽管折腾的过程也是有一点费时,但还是值得的。

ok,废话不说,我把实践的过程来一个从头到尾的回放,但愿对感兴趣的你有所帮助。

首先我看一下我的nginx 的安装情况:

这是我未安装之前的nginx信息

安装subs_filter扩展,需要先下载这个扩展,链接如下:

https://github.com/yaoweibin/ngx_http_substitutions_filter_module

直接Download ZIP 包下来,或者用git命令也行,我是先把zip下载下来,然后在服务器上用rz命令上传上去(其它有点傻,如果服务器上装了git的话,直接用git命令更省事)再unzip解压即可。

接下来是进入nginx源码安装时的目录,我的是usr/local/src下,如图:

直接使用命令:./configure --user=nginx --group=nginx --with-Http_ssl_module --add-module=/usr/local/src/ngx_http_substitutions_filter_module-master

加粗标红的就是这次的重点,即添加的扩展模块

使用make 命令编译一下,注意:只需要make一下,不需要再执行 make install 命令

此时,会在objs目录下更新nginx执行 文件,如图:

接下来我们先备份好原有的nginx执行文件,命令:

cd /usr/local/nginx/sbin/

mv nginx nginx.bak.20210303

如图:

然后复制刚才objs目录下的nginx执行文件到 nginx /usr/local/nginx/sbin目录中,

cd -

cp nginx /usr/local/nginx/sbin/

复制好以后,我们先停掉正在运行的nginx服务,使用pkill -9 nginx

再次启动 nginx服务 /usr/local/nginx/sbin/nginx

此时就已经安装好subs_filter这个模块了,如图:

OK,此时模块已经装好,我们需要做的是在nginx配置文件中,配置好过滤与替换内容即可,打开我的88端口的nginx配置文件:

subs_filter 这里解释一下:

subs_filter '' 'Test
';

这一段的意思,相于是在body标签的后面加上一个class="test_box" 的

然后再引入两个js,在test.js里面写上逻辑,代码如下:

$(function(){var h = $(window).height();var w = $('body').width();console.log(w,h);        $('body').CSS({'margin':0,'padding':0,'border':'5px solid red','width':w-10,'height':h-10});        $('.test_box').css(                {'background':'red','width':'50px','height':'50px','border-radius':'100%','position':'absolute','top':'10px','right':'25px','text-align':'center','line-height':'50px','color':'#fff'                });})

这个就不用解释了吧,一段js的代码,主要是给body加个红色的边框,然后再给插入的

动态加上样式。

接下来我们写一个简单的静态文件,test.html,代码如下:

hello world

hello world

访问一下这个页面,看看效果:

没错,就是这个效果,和我在演练环境看到的一毛一样。折腾了一两个小时,终于搞明白了这个问题,还算是有所收获吧...

好了,今天的分享就此结束,有好的建议与想法欢迎留言。。。

来源地址:https://blog.csdn.net/yangguang3004/article/details/129461489

--结束END--

本文标题: Nginx内容过滤器-subs_filter

本文链接: https://www.lsjlt.com/news/385982.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Nginx内容过滤器-subs_filter
    今天在工作中偶然发现一个有意思的现象,我们的开发环境和演练环境都是同样的代码,同样的环境。但是演练环境打开的网页在窗口外层都会包裹着一个红色的边框,右上角还有一个圆形的红底Test标识。大概是这样的一个效果: ...
    99+
    2023-08-31
    php Powered by 金山文档
  • python怎么过滤文件内容
    在Python中,可以使用以下几种方式来过滤文件内容: 使用readlines()方法读取文件的所有行,并使用条件语句来过滤内容。...
    99+
    2024-02-29
    python
  • linux怎么查看文件内容过滤
    在Linux中,可以使用以下命令来查看文件内容并进行过滤: cat命令:用于查看文件内容。例如,cat filename将打印出...
    99+
    2024-02-29
    linux
  • SpringBoot过滤器实现项目内接口过滤详解
    目录业务需要处理的问题公众号用户信息与业务系统做绑定将路由中心的接口与业务系统的接口判断处理步骤全部代码代理转发实现业务 由于业务需求,存在两套项目,一套是路由中心,一套是业务系统....
    99+
    2023-05-16
    SpringBoot实现项目接口过滤 SpringBoot项目接口过滤 SpringBoot过滤器
  • vue中内置过滤器怎么用
    小编给大家分享一下vue中内置过滤器怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言vue中过滤器filters的作用是...
    99+
    2024-04-02
  • Python基于DFA算法实现内容敏感词过滤
    DFA 算法是通过提前构造出一个 树状查找结构,之后根据输入在该树状结构中就可以进行非常高效的查找。 设我们有一个敏感词库,词酷中的词汇为: 我爱你我爱他我爱她我爱你呀我爱他呀我爱她...
    99+
    2024-04-02
  • linux怎么对文本或输出内容进行过滤
    这篇文章主要讲解了“linux怎么对文本或输出内容进行过滤”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux怎么对文本或输出内容进行过滤”吧!在linux中经常需要对文本或输出内容进行...
    99+
    2023-06-09
  • 虚拟主机如何设置邮件服务器邮件内容过滤
    虚拟主机设置邮件服务器邮件内容过滤可以通过以下步骤实现: 登录到虚拟主机的控制面板或邮件管理工具中。 在管理界面中找到邮件过滤设置选项,一般可以在邮件设置或安全设置中找到。 在邮件过滤设置中,可以设置一些规则来过滤不需要的邮件内...
    99+
    2024-07-04
    虚拟主机
  • HBase过滤器
    过滤器 我们我们来看几个常用的过滤器: 过滤器 说明 RowFilter 筛选指定的RowKey FilterList 组合其他过滤器 ValueFilter 筛选指定值的数据 PrefixFilter 筛选有指定...
    99+
    2015-12-30
    HBase过滤器
  • java过滤器中Filter的ChainFilter过滤链
    在Java过滤器中,FilterChain是一种过滤链,用于按照一定顺序依次调用多个过滤器对请求进行处理。FilterChain接口定义了一个doFilter方法,该方法接受ServletRequest和ServletResponse作...
    99+
    2023-08-11
    java
  • Python基于DFA算法怎么实现内容敏感词过滤
    这篇文章主要讲解了“Python基于DFA算法怎么实现内容敏感词过滤”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python基于DFA算法怎么实现内容敏感词过滤”吧!DFA 算法是通过提前...
    99+
    2023-06-30
  • Mahout怎么处理协同过滤和基于内容的推荐
    Mahout是一个开源的机器学习库,可用于构建推荐系统。在Mahout中,协同过滤和基于内容的推荐是两种常用的推荐算法。 对于协同过...
    99+
    2024-04-02
  • Spring Security内置过滤器的维护方法
    目录内置过滤器的顺序注册过滤器的逻辑获取已注册过滤器的顺序值HttpSecurity维护过滤器的方法addFilterAtOffsetOfaddFilter系列方法问题来了Sprin...
    99+
    2024-04-02
  • java过滤器怎么指定过滤文件
    在Java中,可以使用`javax.swing.filechooser.FileNameExtensionFilter`类来指定过滤...
    99+
    2023-10-11
    java
  • [Java]过滤器(Filter)
    一、什么是过滤器 过滤器是Servlet的高级特性之一,是实现Filter接口的Java类! 过滤器的执行流程:   从上面的图我们可以发现,当浏览器发送请求给服务器的时候,先执行过滤器,然后才访问Web的资源。服务器响应Response...
    99+
    2023-08-31
    servlet java 开发语言
  • java过滤器(Filter)
    原文链接:java过滤器(Filter – 编程屋 目录 1 过滤器简介 2 Filter详细介绍 3 Filter的用法 3.1 用法1  3.2 用法2 1 过滤器简介 filter也称之为过滤器,它是javaWeb三大组件之一(S...
    99+
    2023-09-07
    servlet
  • jQuery如何使用过滤器过滤多属性
    这篇文章给大家分享的是有关jQuery如何使用过滤器过滤多属性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用过滤器过滤多属性//This precision-based approache...
    99+
    2023-06-27
  • Element-ui table中过滤条件变更表格内容的示例分析
    这篇文章将为大家详细讲解有关Element-ui table中过滤条件变更表格内容的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。组件中:<el-table...
    99+
    2024-04-02
  • C#中正则表达式(Regex)过滤内容的基本使用方法
    目录命名空间简单了解后开始教程1.读取文本内容2.创建正则表达式3.输出匹配好的内容补充:C#正则表达式筛选去掉不符合的字符总结先看英文意思 命名空间 using System.T...
    99+
    2022-11-13
    c# regex 正则表达式 regex正则表达式 c# regex过滤内容
  • springboot使用过滤器
    一:过滤器 1.过滤器介绍 过滤器是处于客户端与服务器资源文件之间的一道过滤网,帮助我们过滤一些不符合要求的请求。通常用作 Session校验,判断用户权限。 2.过滤器生命周期 使用过滤器很简单,只需要实现Filter类,然后重写它的3个...
    99+
    2023-09-03
    servlet java 开发语言 spring boot
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作