On 19/04/2012 9:06 p.m., Dirk Högemann wrote:
Hi,
I am trying to run SQUID with ESI support (parser is custom).
Squid version?
This works fine until processed pages reference for example Javascript files
with filesize bigger than 64K.
In that case SQUID crashes.
LOG:
2012/04/19 10:47:19.295| clientStreamCallback: Calling 1 with cbdata
0x85ecfac from node 0x85dbde0
2012/04/19 10:47:19.295| esiProcessStream: Processing thisNode 0x86345d0
context 0x85ecf20 offset 65126 length 4096
2012/04/19 10:47:19.295| assertion failed: String.cc:197: "len_ + len<
65536"
Are there any workaround for this issue?
No. Squid has a hard-coded string length limit of 64KB. ESI needs a
re-write to work without the string buffer, possibly to stream the
construced reply straight to client or chunk it into 64KB pieces.
Or is it possible to configure SQUID in a way to skip ESI processing for
example files/content by url path?
ESI processing is determined by the origin web server. The Surrogate-*
header targets a particular surrogate proxy to initiate ESI processing
(or not) per-request.
PS. "SQUID" is an electronic component like a diode. "Squid" is the proxy.
Amos