nginx配合sub_filter和subs_filter修改title

安装sub_filter模块
./configure --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module
替换
sub_filter ‘{replaceme}’ ‘$name’;
sub_filter_once off;

location ~ ^/resource/(?<name>.+)$ {
   
   
            alias   /home/page/;
        try_files ~~$uri $uri/~~  basic.html =404;
        sub_filter '{replaceme}' '$name';
        sub_fil
### 使用 Nginx 的 `sub_filter` 功能去除特定标签及内容,防止后端信息泄露 Nginx 提供了 `sub_filter` 模块,可以动态替换或删除响应中的特定内容。通过配置 `sub_filter`,可以有效去除后端返回的敏感信息或特定标签,从而防止信息泄露。 以下是一个完整的配置示例,展示如何使用 `sub_filter` 去除 HTML 响应中的 `<pre>` 标签及其内容: ```nginx http { # 确保启用了 sub_filter 模块 server { listen 80; server_name example.com; location / { proxy_pass http://127.0.0.1:8080; # 后端服务地址 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 配置 sub_filter 替换规则 sub_filter '<pre>' ''; # 去除 <pre> 开始标签 sub_filter '</pre>' ''; # 去除 </pre> 结束标签 sub_filter_types text/html; # 指定处理的 MIME 类型 sub_filter_once off; # 允许多次替换 } } } ``` 上述配置中,`sub_filter` 被用来移除 HTML 响应中的 `<pre>` `</pre>` 标签[^1]。通过将这些标签替换为空字符串,可以有效地隐藏其内部的内容,避免敏感信息泄露。 如果需要进一步扩展功能,例如去除 JSON 响应中的特定字段,则可以调整 `sub_filter_types` 参数以支持 `application/json` 类型,并定义相应的替换规则。例如: ```nginx location /api/ { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; # 替换 JSON 响应中的敏感字段 sub_filter '"internal_id":' '"id":'; # 将 "internal_id" 替换为 "id" sub_filter_types application/json; # 处理 JSON 类型的响应 sub_filter_once off; # 允许多次替换 } ``` 在此配置中,JSON 响应中的 `"internal_id"` 字段被替换为 `"id"`,从而隐藏了原始字段名称。 #### 注意事项 - 确保 Nginx 已编译启用 `ngx_http_sub_module` 模块,否则需要重新编译。 - 如果响应内容较大或替换规则复杂,可能会对性能产生一定影响,需根据实际场景评估。 - 在生产环境中,建议结合自定义错误页面 `sub_filter` 使用,以实现更全面的信息保护。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值