Nginx反代正则替换

47次阅读

共计 736 个字符,预计需要花费 2 分钟才能阅读完成。

Nginx 反代貌似不支持正则替换,于是装了 ngx_http_substitutions 模块,但是似乎还是不作用,比如,我要替换 12345.ts,在它前面补全 url,即 https://a.com/floder/12345.ts(12345 为随机数字)正则匹配:sub_filter \'(.*?\\.ts)\’ \’https://a.com/floder/$1\’;sub_filter \'(.*?)(\\.ts)(.*)\’ \’https://a.com/floder/$1$2$3\’; 两种写法都不起作用,是我写法有问题,还是模块不支持啊??cangshui 2023-06-22 00:40 2 确保你已经正确加载了 ngx_http_substitutions 模块。你可以在 Nginx 配置文件中的 http 块中添加以下指令来加载该模块:load_module modules/ngx_http_substitutions_module.so; 复制代码这将加载 ngx_http_substitutions 模块。确保指定的模块路径与实际安装的模块路径相匹配。然后,确保你在 location 块中正确启用了替换操作,并使用 sub_filter 指令进行替换。例如:location / {    …    sub_filter_once off;    sub_filter_types *;    sub_filter \'(.*?\\.ts)\’ \’https://a.com/floder/$1\’;    …} 复制代码上述配置中的 sub_filter_once off 表示允许多次替换,sub_filter_types * 表示对所有类型的响应进行替换。乌拉擦 2023-06-22 01:30 3 页面压缩也会影响替换

正文完
 0