You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否用ngx_http_sub_module在Nginx代理时替换所有"ipsum"字符串?已尝试配置未成功

可以用ngx_http_sub_module实现需求,你的配置存在几个关键问题导致失效:

问题分析

  • sub_filter_once重复配置:你先后设置了sub_filter_once off和sub_filter_once on,最终生效的是后者,这会导致仅替换第一个匹配的"ipsum",而非全部。
  • sub_filter_types类型不匹配:你代理的是JS文件,GitHub返回的Content-Type是application/javascript,但你只指定了text/html,sub_module只会处理匹配该类型的响应,所以替换规则未触发。
  • proxy_pass路径匹配问题:当前location是/lorem,直接proxy_pass到具体文件会导致请求路径处理异常,需调整代理目标路径。

修正后的配置示例

location /lorem {
    proxy_pass https://raw.githubusercontent.com/subhanahmet/lorem/main/;
    proxy_set_header Accept-Encoding "";  # 禁用响应压缩,确保sub_filter能处理明文内容
    sub_filter_once off;  # 开启全局替换所有匹配项
    sub_filter_types text/html application/javascript;  # 包含JS文件的Content-Type
    sub_filter "ipsum" "sometext";
}

额外验证步骤

执行nginx -V查看编译参数,确认已包含--with-http_sub_module,该模块默认可能未编译进Nginx。

内容的提问来源于stack exchange,提问作者Subhan Ahmet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 23:59:59