igoogle 大佬有话说 :
nginx反代正则替换
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 大佬有话说 :
确保你已经正确加载了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 *表示对所有类型的响应进行替换。
乌拉擦 大佬有话说 :
页面压缩也会影响替换
igoogle 大佬有话说 :
cangshui 大佬有话说 : 2023-6-22 00:40
确保你已经正确加载了ngx_http_substitutions模块。你可以在nginx配置文件中的http块中添加以下指令来加载 …
感谢大佬,nginx -V 查看包含了–add-module=/www/server/nginx/src/ngx_http_substitutions_filter_module-master,是不是表示ngx_http_substitutions_filter已经正常加载了
lowan 大佬有话说 :
igoogle 大佬有话说 : 2023-6-22 10:17
感谢大佬,nginx -V 查看包含了–add-module=/www/server/nginx/src/ngx_http_substitutions_filter_modu …
在nginx.conf的配置文件里要加载这个模块
igoogle 大佬有话说 :
lowan 大佬有话说 : 2023-6-22 10:44
在nginx.conf的配置文件里要加载这个模块
加http块里面,提示错误;
加其它块里面,也都是报错啊。。
怎么回事
abysscong 大佬有话说 :
乌拉擦 大佬有话说 : 2023-6-22 01:30
页面压缩也会影响替换
确实,可以设一下proxy的encoding header
lowan 大佬有话说 :
igoogle 大佬有话说 : 2023-6-22 10:47
加http块里面,提示错误;
加其它块里面,也都是报错啊。。
怎么回事
不是加http,也不是加网站配置文件里,是加nginx的配置文件里