我想通过sub_filter调用时通过perl或nginscript设置标头,如下所示
perl_set $abc '
sub {
my $r = shift;
my $v = 123;
$r->header_out("foo", $v);
return $v;
}
';
server {
location / {
proxy_pass ...
....
sub_filter "XYZ" $abc;
}
}
我可以看到响应XYZ被123取代,但是没有添加标题foo。 我不能直接在location指令中添加该头,因为perl函数被调用两次,例如,如果我添加如下所示的头,那么我注意到在add_header期间以及在sub_filter期间调用perl函数
set $xyz $abc;
add_header Foo $xyz;
sub_filter "XYZ" $xyz;
有谁可以帮助如何实现这一目标?