Re: http_sub_module, need help

The http_sub_filter_module can substitue one string to another.
Sometimes it dosen’t work because of gzip. If the HTTP packets come from
backend and the client’s HTTP request header comes with
“Content-Encoding:gzip”, then the entire packets is compressed.
Maybe you can set like this: ¡°proxy_set_header Accept-Encoding ‘’;¡° ,
but any response will not compressed any more.


YaoWeibin
2009-01-09


·¢¼þÈË£ºraptium
·¢ËÍÈÕÆÚ£º2009-01-09 13:52:15
ÊÕ¼þÈË£ºnginx
³­ËÍ£º
Ö÷Ì⣺http_sub_module, need help

I am using nginx as a reverse proxy for IBM Lotus Domino Web Mail.
Since there are some internal only URL in email content, I need
http_sub_module to modify(add some prefix ) the URL so that user
outside intranet can click the link and access through another portal.

I add

sub_filter aaa bbb;
sub_filter_types application/json application/x-javascript;
sub_filter_once off;

into the nginx.conf and it does not work.‘aaa’ is not replaced by ‘bbb’

However, if I save the web page as html file or generate some json
which contains ‘aaa’. It can be replace by ‘bbb’.

Therefore, it there any other options besides Content-Type can
prevent http_sub_module replacing the word?

Sorry for my bad English…

If I am reading you correctly, this might be more appropriately doable
with
the proxy_redirect directive of the proxy module instead. Check out the
documentation here and give iit a try:
http://wiki.codemongers.com/NginxHttpProxyModule#proxy_redirect

Thanks~ nbubingo & Merlin

In fact, the URLs which I want to modify are in the http BODY. The
original links look like ‘http://somelocalhost/foo/bar.html’ and I
hope it be changed to
https://webproxy.mycompany.com/http://somelocalhost/foo/bar.html’.

Therefore, nbubingo’s solution works for me. :slight_smile:

Forgive my poor english, I mean the request header may let backend
server compressed the response first. Then nginx can’t substitute
string in the compressed response.


YaoWeibin
2009-01-09


From£ºMerlin
Date£º2009-01-09 17:09:52
To£ºnginx
CC£º
Subject£ºRe: http_sub_module, need help

If I am reading you correctly, this might be more appropriately doable
with
the proxy_redirect directive of the proxy module instead. Check out the
documentation here and give iit a try:
http://wiki.codemongers.com/NginxHttpProxyModule#proxy_redirect