Squid3 - New GUI with sync, normal and reverse proxy
-
there is an unofficial package called lusca for pfsense that worked fine with caching dynamic content, but it hasn't been updated for a while, maybe taking examples from it can help? http://code.google.com/p/pfsense-cacheboy/wiki/Pfsense_Lusca Lusca is a squid 2 fork though. thanks again!
nesense! i love you!
Thanks for reminding them about lusca!!!!!I did notice that (very sadly) lusca did not get any updates for a very long time.
In fact it's still based on an older 2.7 branch of Squid.I believe that Squid is easily the best web cache but it´s never as aggressive as Lusca which is almost the same.
It is true that the latest versions of Squid are getting more aggressive but i don´t think it´s reaching the Lusca performance.Another problem with both Squid and Lusca is that it doesn't support partial file caching so big files need to be downloaded over and over and are not cached if the is a network disconnection, something really common in unreliable wireless connections.
I noticed that worse web caches already have partial file caching while squid, being among the best, if not the best, still doesn't have this feature.
Also i don´t like how squid messes up with load balancing. I have to use 2 machines, 1 with a load balancing squid and another with a caching squid because if i do load balancing and web caching in the same machine, it will end using only 1 wan even if i set the other wan with the maximum weight. Squid always uses the default gateway. And if you have no default gateway or both are default gateways, squid begins doing weird stuff….
-
Something else that i´m not sure of is maximum object size in RAM.
Since i have a 32 Gigabyte RAM system, I dedicate at least 25 Gigs for Squid only and the rest of RAM for the PFSense system
To make sure that RAM is filled with useful objects i set the maximum object size in ram as 4 Megabytes.I´m not sure about the limits because in squid documents they always talk about minimum (0) and default which is a ridiculous (32kb) if i'm not wrong.
So i wonder if squid can properly work with a maximum object size in RAM of 4096kb.
Also, when the system is restarted, are those smaller than 4096kb objects reloaded from the Disk? or no objects is ever saved in the disk if smaller than maximum RAM object size?
I would like to have squid cache saving absolutely everything cacheable inside the disk and then after a system restart reload all cached objects smaller than maximum RAM object size back into the RAM at each restart.
Maybe squid already does something like that but if not, i think that COSS (cyclic object storage system) already does it.
Lusca can optionally support COSS but they say it's not very reliable even if sometimes it's even faster than squid's "aufs"
-
1.) To use squid in LoadBalancing /MultiWAN you just have to do additional configuration. There are many forum posts about that and how to configure that.
RAM is more a kind of "cache" so that squid does not have to access the HDD too much. After reboot the RAM will be empty. The RAM will be filled again automatically with files which are most requested by users of the proxy.
My setting an intention is as following:
The minimum file size must be 128kb. I do not want to cache smaller files because getting them from cache will ber perhaps not much faster than downloading them (depending on your WAN connection).
The maximum object size in RAM is 512kb. Caching many small files on HDD will cause many read/write accesses on HDD which cost time so I will cache small files in my RAM which is very fast.
The maximum object size is 1GB because I want to cache windows updates and so on but I do not want to have a ServicePack in my RAM which wasts much space and will not be needed so often.As memory replacement policy I use:
Heap GDSF: Greedy-Dual Size Frequency - The Heap GDSF policy optimizes object-hit rate by keeping smaller, popular objects in cache. It achieves a lower byte hit rate than LFUDA though, since it evicts larger (possibly popular) objects.
As disk cache replacement I use:
Heap LFUDA: Least Frequently Used with Dynamic Aging - The Heap LFUDA policy keeps popular objects in cache regardless of their size and thus optimizes byte hit rate at the expense of hit rate since one large, popular object will prevent many smaller, slightly less popular objects from being cached.
-
Nachtfalke
Thanks for your reply
Those settings that you are using are very efficient and are very similar to what i use. But it think they can be improved a little:
RAM is still faster than any WAN even for very small files, so i see no reason to limit the minimum object size in RAM setting it above 0KB.If you have a big hard drive you can have a maximum object size in Disk bigger than 1 GB.
I actually keep the maximum object size to 9999 Megabytes so if a user downloads a double layer dvd, it will still be there for anyone to re-download it at huge LAN speeds.
This is good when you are using a Terabyte or bigger hard drive dedicated to squid.I did notice that RAM gets filled slowly after the system is restarted, but it would be great to have it filled quickly with a synchronous cache backup done in the hard drive.
But that may be too complicated. Some other caches actually do this.Also, i saw in other forum posts here about the load balancing with squid but many are still complaining about having only one WAN used when squid service is active.
I found a post that had a way to make squid work with both WANS and it did work but it crashed squid several times a week.That is why i´m using two machines, one with pfsense with pppoe wan connections(to make wan connection faster than router), load balancing and failover but without squid,
and a second machine with pfsense and just squid cache service. -
Hi,
can someone help me with that:
http://www.squid-cache.org/Doc/config/accept_filter/2012/10/30 17:27:44| Installing accept filter 'httpready' on FD 359 2012/10/30 17:27:44| SO_ACCEPTFILTER 'httpready': (2) No such file or directory
I enabled this on my squid.conf
accept_filter httpready
Is this possible with pfsense (kernel) and squid2 or squid3 ?
Thank you!
-
Another question to the squid users.
The description for http://www.squid-cache.org/Doc/config/minimum_object_size/ is:
Objects smaller than this size will NOT be saved on disk. The value is specified in kilobytes, and the default is 0 KB, which means there is no minimum.
Will the objects smaller than 128KB be cache in mem or not if I set the value to 128 ? I want to prevent that to many very small files will be cached on disk because this causes so much I/O on disk. These small files should be placed in RAM which is much faster.
-
Is there a guide somewhere to get this Reverse Proxy working in pfsense.. ?
I can't get the right combination of NAT, firewall, ports and interfaces.Maybe an example?
Has Anyone really got it working?thanks!
-Griffin
-
Hi,
i found a bug/typo in /usr/local/pkg/squid_reverse.inc:136
RPC-over-HTTPS doen't work correct.
136 if($settngs['reverse_owa_rpchttp']) 137 array_push($owa_dirs,'rpc/rpcproxy.dll','rpcwithcert/rpcproxy.dll');
correct is:
136 if($settings['reverse_owa_rpchttp']) 137 array_push($owa_dirs,'rpc/rpcproxy.dll','rpcwithcert/rpcproxy.dll');
tooks lot of time to get Outlook RPC-over-HTTPS working :P
-
i found a bug in /usr/local/pkg/squid_reverse.inc:136
I've pushed the fix for this typo, thank's for the feedback! :)
-
Could you please post your configuration ? I would like to host my webserver through squid reverse proxy and it didn't work for me..
-
1st: You have to correct the typo as descripted in my post before…
I configured it like this:
reverse Proxy Interface: WAN
External FQDN webmail.domain.tld
Reset TCP connections if request is unauthorized: active
Enable HTTPS reverse proxy: Active
reverse HTTPS port: 443
reverse SSL certificate
Ignore internal Certificate validation: active (we use self signed certs)
OWA frontend IP address: IP Address four your Frontent OWA Server
Enable ActiveSync: yes
Enable Outlook Anywhere: yes
Enable Exchange WebServices: yes
Enable AutoDiscover:yesand of course, you have to open that port in the firewall rules.
i'm using OWA/Exch2010...
hope, this helps.
Edit: if you correct the typo after enabling RPC-over-HTTPS you have to uncheck that box, save the configuration, recheck the box and save it again to apply the changes.
-
1st: You have to correct the typo as descripted in my post before…
Or just install latest package version (2.0.5_6) ;)
-
Thank you marcellok!!!
At last, since today, squid works again with both http and https caching everything.
I have been waiting for this fix for months!!!
Thanks again. May Quetzalcoatl bless you!
I wonder who is porting squid to freeBSD.
Now squid 3.3 beta is outwith several nice improvements and fixes since 3.2 and 3.1
Hopefully some kind guy will port it soon to freeBSD to make it available for pfSense as well. -
Hi marcelloc,
I wonder if it works squid3 with SquidGuard
or I can suggest that I can work with squid for Access Control List (ACL)Thanks for your understanding.
Regards
Mauricio Niño
-
I wonder if it works squid3 with SquidGuard
Yes, just reinstall squid3 after squidguard install
or I can suggest that I can work with squid for Access Control List (ACL)
On current package version, if acl fields available does not fit your need, you can create manual acls on custom_options
-
Notification/doco: The latest squid and squid3 have replaced the previous process called proxy_monitor with sqpmon.
[2.1-BETA1][admin@test.mydomain]/root(6): ls -l /usr/local/pkg/sqpmon.sh -rwxr-xr-x 1 root wheel 2906 Jan 21 15:28 /usr/local/pkg/sqpmon.sh [2.1-BETA1][admin@test.mydomain]/root(7): ls -l /usr/local/etc/rc.d/sq* -rwxr-xr-x 1 root wheel 335 Jan 21 15:28 /usr/local/etc/rc.d/sqp_monitor.sh -rwxr-xr-x 1 root wheel 449 Jan 21 15:46 /usr/local/etc/rc.d/squid.sh [2.1-BETA1][admin@test.mydomain]/root(8): ps ax | grep sqpmon 83263 0- I 0:00.26 /bin/sh /usr/local/pkg/sqpmon.sh
If you install the latest squid (2.7.9 pkg v.4.3.2) or squid3 (3.1.20 pkg 2.0.5_8), you will find an sqpmon process appears (squid process monitor) running /usr/local/pkg/sqpmon.sh. It does what proxy_monitor used to do - checks every minute or so to see if squid is still running. The sqp_monitor.sh script is called at startup and shutdown to start and stop it.
This helps out a guy in Ethiopia who was having trouble fetching files with "proxy" in the filename. It also fixes some potential problems with proxy_monitor - it was possible to have a scenario where proxy_monitor.sh would get called at shutdown and actually hang the shutdown, preventing a reboot from ever completing. Now sqpmon works the way that other package component startup/shutdown scripts are designed.
This all works on 2.0.n or 2.1-BETAn systems. -
I want to not cache Steam downloads. Shouldn't this work in "Custom settings" on the General-tab:
acl steamtest url_regex -i ^http://.*/depot/.*/chunk/.* cache deny steamtest
Squid is still caching Steam downloads (url http://81.171.70.221/depot/107202/chunk/52f888f7848537d725be13719ef9870f0b1da910). My regexp should match the url each time. The IP changes, but /depot/ and /chunk/ are always there.
What am I doing wrong? :F
Regards,
Joona -
Will we see an update of the squid3 package to the 3.2 branch?
Stable v3.2.7 released on the 1st of Feb.
http://www.squid-cache.org/Versions/v3/3.2/RELEASENOTES.htmlSome bugs regarding ipv6 have been fixed in this latest version.
http://www.squid-cache.org/Versions/v3/3.2/changesets/SQUID_3_2_7.htmlStill no freshports.org update though, that is still at v3.2.6
p.s. the package name is 3.1.20 and 3.1.22 is rolled out in PBI. (I'm running 2.1 beta)
-
I'm testing 3.2.6 and SSL filtering this weekend. :)
-
I've checked just now, freshports.org has finished porting v3.2.7 ;)