Re: How to modify backend content before it reach to client's browser?

2010-02-05 Thread fulan Peng
Thank you for your response.

I am not looking to include additional content or synthetic something
to the content. I am trying to rewrite the url in the content. This
can be done by Apache mod_proxy_html. I made it working. But Apache
breaks some web pages. I want to try something else.
Yes. I want to change the content "on the fly". I found only Apache
mod_proxy_html and Microsoft IIS .NET something can do it.  All others
are not able to do this.
I would try inline C at Varnish. I do not want do anything with Microsoft.
Thanks !

Fulan Peng


On Fri, Feb 5, 2010 at 9:04 PM, Richard Chiswell
 wrote:
> Hello Fulan,
>
> I'm not sure what you are asking from Varnish. You could use its ESI (
> http://varnish-cache.org/wiki/ESIfeatures ) to include additional content or
> "synthetic" ( http://varnish-cache.org/wiki/VCLSyntaxStrings ) to set the
> content. I don't think you are able to change the contents of URLs "on the
> fly" in Varnish without using inline C.
>
> If you are actually looking at redirecting URLs, you may find code such as:
>
> sub vcl_recv {
> 
> if (req.url ~ "^/rgb([A-z0-9]+)$") {
>       error 750 "ukredirect";
> }
> ...
> }
> sub vcl_error {
> ...
>   if (obj.status == 750) {
>   if (obj.response == "ukredirect") {
>        set obj.http.Location = "http://"; req.http.host
> regsub(req.url,"^/rgb([A-z0-9]+)$","/en_gb/?utm_source=ukredirect&utm_medium=web&utm_campaign=\1");
>        set obj.status = 301;
>        set obj.response = "Found";
>        deliver;
>   }
> }
> ...
> }
> useful to redirect the users browser without touching the backend.
>
> Yours,
> Richard
>
> fulan Peng wrote:
>>
>> Hi,
>>
>> I am looking for the functionality similar to Apache's mod_proxy_html.
>> It can modify backend's content before it reach to customer. I used it
>> to rewrite url in the links.
>>
>> Usually, when people are talking about url rewriting, they mean to
>> rewrite the url before send out to backend. That is varnish's url
>> rewriting. That is not I want.
>>
>> Thanks a lot!
>>
>> Fulan Peng
>> ___
>> varnish-misc mailing list
>> varnish-misc@projects.linpro.no
>> http://projects.linpro.no/mailman/listinfo/varnish-misc
>>
>
>
___
varnish-misc mailing list
varnish-misc@projects.linpro.no
http://projects.linpro.no/mailman/listinfo/varnish-misc


Re: How to modify backend content before it reach to client's browser?

2010-02-05 Thread Richard Chiswell
Hello Fulan,

I'm not sure what you are asking from Varnish. You could use its ESI ( 
http://varnish-cache.org/wiki/ESIfeatures ) to include additional 
content or "synthetic" ( http://varnish-cache.org/wiki/VCLSyntaxStrings 
) to set the content. I don't think you are able to change the contents 
of URLs "on the fly" in Varnish without using inline C.

If you are actually looking at redirecting URLs, you may find code such as:

sub vcl_recv {

if (req.url ~ "^/rgb([A-z0-9]+)$") {
error 750 "ukredirect";
}
...
}
sub vcl_error {
...
if (obj.status == 750) {
if (obj.response == "ukredirect") {
 set obj.http.Location = "http://"; req.http.host 
regsub(req.url,"^/rgb([A-z0-9]+)$","/en_gb/?utm_source=ukredirect&utm_medium=web&utm_campaign=\1");
 set obj.status = 301;
 set obj.response = "Found";
 deliver;
}
}
...
}
useful to redirect the users browser without touching the backend.

Yours,
Richard

fulan Peng wrote:
> Hi,
>
> I am looking for the functionality similar to Apache's mod_proxy_html.
> It can modify backend's content before it reach to customer. I used it
> to rewrite url in the links.
>
> Usually, when people are talking about url rewriting, they mean to
> rewrite the url before send out to backend. That is varnish's url
> rewriting. That is not I want.
>
> Thanks a lot!
>
> Fulan Peng
> ___
> varnish-misc mailing list
> varnish-misc@projects.linpro.no
> http://projects.linpro.no/mailman/listinfo/varnish-misc
>   

___
varnish-misc mailing list
varnish-misc@projects.linpro.no
http://projects.linpro.no/mailman/listinfo/varnish-misc