Hide Forgot
Description of problem: ESI (http://jrenard.info/blog/about-esi.html) is enabled in squid (the spec file compiles squid with --enable-ise in the RHEL os repository) but it does not seem to work. Version-Release number of selected component (if applicable): 3.1.4 3.1.10 (r1 and r1.1) How reproducible: Always Steps to Reproduce: 1. Set up a standard squid server. 2. Set up a standard web server (httpd, nginx, etc.) 3. Serve an html file through the web server. 4. Configure squid to proxy the requests. 5. Squid correctly fetches the file from the web server but it does not pre-process the file with ESI directives before serving the file to the end client. Actual results: Html files with ESI directives do not get pre-processed by squid before being served to the end client. Expected results: Html files should pre-process ESI directives. Additional info: You may use http://esi-examples.akamai.com/index.html to perform your tests. The full source code can be downloaded here: http://esi-examples.akamai.com/esi-examples.zip
I'd like to ask you for additional info: - cache.log after setting 'debug_options ALL,1 86,9 88,3' in squid.conf - squid.conf Thank you, Jiri
I will send what you asked to your email address, as it contains confidential information.
(In reply to comment #3) > I will send what you asked to your email address, as it contains confidential > information. I've got the conf file, thank you - of course the file is confidential. I've tested ESI a bit using following setting: http://wiki.squid-cache.org/Features/Surrogate The ESI module works only if the web server will insert 'Surrogate-control' header into HTTP response. Could you catch the packets and verify if there will be mandatory 'Surrogate-control' header? Thanks, Jiri
Some news? What about 'Surrogate-control' header if HTTP response? If there is no this header then I don't see it as a squid's fault. Please, let me know about it. Thank you Jiri
Thank you for the reply. I was not able to test it. Can you give an example of how you pass the Surrogate-control header and its contents with a curl request, for instance?
See following link: http://wiki.squid-cache.org/Features/Surrogate There are details inclusive Surrogate-control. This header is mandatory for further squid's ESI handling
This request was evaluated by Red Hat Product Management for inclusion in the current release of Red Hat Enterprise Linux. Because the affected component is not scheduled to be updated in the current release, Red Hat is unfortunately unable to address this request at this time. Red Hat invites you to ask your support representative to propose this request, if appropriate and relevant, in the next release of Red Hat Enterprise Linux. If you would like it considered as an exception in the current release, please ask your support representative.
As I wrote in the comment #7 there is a mandatory option for squid ESI hanling. I'm not sure if this option was fulfilled. Will you attach tcpdump/wireshark traces that contains ESI related tags to verify if the server sends appropriate headers to squid? Thank you, Jiri
At this moment my priorities have changed, so I will not be able to check up on this until later. Unless you disagree, I set this to deferred.
Well, I don't currently observe any fault from squid side. Therefore I'm going to close the bug. If you find the squid will not handle esi support as intended despite of fulfilled conditions (see squid wiki) in the future don't hesitate to reopen this bug and, please, attach required traces.