We discovered a very annoying problem when using the progress indication pages feature of the Anti malware scanner when using this feature combined whit Web Gateway high availability.
When a file has been downloaded and the client is presented with the progress done page which contains a link to the downloaded file and the clients waits a few minutes before using this link he / she gets a 50/50 chance that the link produces a error instead of the downloaded file.
This happens because the HA load balancing processes does not care about the progress done page links. If a client is inactive for more than 300 seconds he / she is removed from the active sessions table and he / she is reassigned to a available Web Gateway when the link is clicked. If this is the Web Gateway which downloaded the file in the first place the link is valid and the file is presented. If the client lands on a web gateway which did not download the file a error is produced and the client has no other option than to download the file again. We reported this issue at McAfee support but it was handled as a known problem (feature works as “designed”). If we wanted to continue to use the progress page combined with HA we could submit a feature modification request and the case was closed. So we had no choice other than creating our own “quick and dirty” fix.
We added the following code (from a web page programming example site) at the bottom of the Default schema html file (after the last </table> entry):
myImg = document.getElementById(imgName);
myImg.src = myImg.src.replace(/\?.*$/, '?' + Math.random());
<div style=" display: inline;">
<img id="keepAliveIMG" width="1" height="1" src="http://www.keep.alive/keepalive.gif?" alt="">
This java script will display a non existing image on a single pixel (invisible). Every 100 seconds this none existing image is refreshed. This keeps the download progress done page (and all other web gateway internal pages) “fresh” because the connection stays alive in the active session table. This
resolves the issue because the client stays on the same Web Gateway as long as the page is open in browser. It’s a little dirty because it will add extra entries in the internet access log file but it “gets the job done” (and the users happy, at least for us ;-))
Hope this helps anybody who uses Web gateway High Availability and wants to use the download progress pages till Web Gateway development address this bug (if that ever happens)