Search squid archive

Flexible configurations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'd like to see the squid supporting something that Varnish is very good.
An example would be to remove cookies from all images

# strip the cookie before the image is inserted into cache.
sub vcl_fetch {
 if (req.url ~ "\.(png|gif|jpg|swf|css|js)$") {
  unset obj.http.set-cookie;
}

This is very good and very open to the settings.
Another thing is also interesting to make the varnish is to normalize
the header accept-encoding

if (req.http.Accept-Encoding) {
   if (req.url ~ "\.(jpg|png|gif|gz|tgz|bz2|tbz|mp3|ogg)$") {
       # No point in compressing these
       remove req.http.Accept-Encoding;
   } elsif (req.http.Accept-Encoding ~ "gzip") {
       set req.http.Accept-Encoding = "gzip";
   } elsif (req.http.Accept-Encoding ~ "deflate") {
       set req.http.Accept-Encoding = "deflate";
   } else {
       # unkown algorithm
       remove req.http.Accept-Encoding;
   }
}

To do this in Squid, had to apply a patch, or is in-built code, and I
can not change the time I want without recompiling (and still is not
as simple as varnish)
In src/client_side.c:

+       /*
+        * Normalize Accept-Encoding Headers sent from client
+        */
+       if(httpHeaderHas(&request->header,HDR_ACCEPT_ENCODING)) {
+               String val =
httpHeaderGetByName(&request->header,"accept-encoding");
+               if(val.buf) {
+                       if(strstr(val.buf,"gzip") != NULL) {
+
httpHeaderDelByName(&request->header,"accept-encoding");
+
httpHeaderPutStr(&request->header,HDR_ACCEPT_ENCODING,"gzip");
+                       } else if(strstr(val.buf,"deflate") != NULL) {
+
httpHeaderDelByName(&request->header,"accept-encoding");
+
httpHeaderPutStr(&request->header,HDR_ACCEPT_ENCODING,"deflate");
+                       } else {
+
httpHeaderDelByName(&request->header,"accept-encoding");
+                       }
+               }
+               stringClean(&val);
+       }

Complete patch:
http://victori.uploadbooth.com/patches/squid-headers-normalization-v4.patch

I do not know if it was so clear, but that was what I wanted in squid.
The reason I do not use varnish, you do not want a reverse proxy, but
proxy to cache.

-- 
osmano807
Joaquim Pedro


[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux