Hi All.
We are trying to start in one of our projects Squid 3.0 (latest
snapshot) as a WebCache server with ESI support enabled and we have found few problems with it. Below few technical details about our
installation:
Squid machine :
- Intel(R) Xeon(TM) CPU 2.40GHz x 2
- OS SuSE 8.0 Standard Edition (Linux version 2.4.21-251-smp
(root@xxxxxxxxxxxx) (gcc version 3.2.2) #1 SMP Thu Sep 23 17:22:54 UTC
2004 )
- glibc-2.2.5-213
- squid snapshot version : 3.0-PRE3-20050120, (we have also tried version 20041207, 20041210, 20050103, 20050224)
- libxml2 version 2.6.16
- expat version 1.95.7
- we also have to apply following patch:
1 --- ESIParser.cc 2005-01-03 19:37:30.000000000 +0100
2 +++ ESIParser-patched.cc 2005-01-03 19:38:19.000000000
+0100
3 @@ -35,9 +35,9 @@
4
5 #include "squid.h"
6 #include "ESIParser.h"
7 -#include "ESIExpatParser.h"
8 #include "ESICustomParser.h"
9 #include "ESILibxml2Parser.h"
10 +#include "ESIExpatParser.h"
11
12 char *ESIParser::Type = NULL;
13
to convince squid to compile. (There was a conflict between parsers)
Squid is used to cache and compose (using ESI) pages retrieved from JBoss 3.2.6 ( Tomcat 5.0.28 ). JSP pages produce html output with ESI tags included. Surrogate Control headers are also set in http response headers as follows:
Surrogate-Control: max-age=1800, content="Surrogate/1.0 ESI/1.0"
We also have to set Date and Last-Modified headers in future with delta equal to max-age and set ETag header to value "not-set" if the one was present.
After making mentioned changes we were able to cache ESI fragments and some images, we could not find reasons why some of images were cached and some not. Using only Surrogate-Control header (without setting Date and Last-Modified in future) allows us only to assemble ESI fragments but none of them are cached.
Squid configuration file you can find attached to this email.
Could you tell us what we are doing wrong? and what configuration changes we need to apply to make it works?
When is final version of the squid 3.0 expected?
What is he current status of squid development process ? is it still under heavy development or some kind of stable release will be available in near future ?
Best regards Konrad
http_port 10080 accel defaultsite=10.160.1.130:8080 icp_port 3130 hierarchy_stoplist cgi-bin ? debug_options All,1 90,2 86,9 auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT acl PURGE method PURGE http_access allow PURGE http_access allow CONNECT acl PURGE method PURGE http_access allow PURGE http_access allow all http_reply_access allow all icp_access allow all visible_hostname webcache httpd_accel_surrogate_id unset-id always_direct allow all strip_query_terms off coredump_dir /home/matrix10/webcache/rzepicha-webcache/target/var/cache