Varnish not completely loading page from IE 7 browser
Bacion, Ray
Ray.Bacion at oa.mo.gov
Thu Feb 3 20:00:56 CET 2011
Hello, we have installed Varnish on one of our RedHat 5 Linux machines. I have pasted the configuration below. I did remove the real hostnames and IP addresses from the configuration.
The configuration works fine with Mozilla for sites I have defined, but on IE 7 the "hostname1" site does not completely load. I see the favicon.ico and the title of the page, but the site continues to load without completing or sometimes completing after a long time (minute plus) to load. The second site "shared_73_165" loads just fine.
Please note a week ago I had the same sites defined, but IE had problems loading the "shared_73_165" site but loaded the "hostname1" site just fine. I assume there is some slight difference in the configuration between this week and last to make this change occur, but I don't know what it would be. Mozilla has always loaded both sites fine.
I am having trouble identifying the root cause of the problem. Can anyone help me with trying to determine why IE 7 is taking so long to complete the loading of the page if it completes at all?
I can also add that a when I look at the varnishncsa output I see that with IE 7 that not all of the elements on the HTML page are being requested, but through Mozilla I do see all the requests. I can also tell you both sites work fine if I bypass Varnish. It also does appear that IE 8 has the same issue although I have not tested with it as much as I have IE 7.
Any help that someone can provide would be appreciated?
backend hostname1
{
.host="xxx.xxx.xxx.xxx";.port="80";.max_connections=200;.connect_timeout=10s;.first_byte_timeout=10s;
.between_bytes_timeout=10s;
}
backend shared_73_165
{
.host="xxx.xxx.xxx.xxx";.port="80";.max_connections=200;.connect_timeout=10s;.first_byte_timeout=10s;
.between_bytes_timeout=10s;
}
sub vcl_recv
{
# Set Backend Server
if (req.http.host ~ "^hostname1.com" || req.http.host ~ "^test.hostname1.com") { set req.backend = hostname1; }
else { set req.backend = shared_73_165; }
# Set HTTP Header NS-Client-IP so Apache can log client's IP address.
set req.http.NS-Client-IP = client.ip;
# If HTTP Header Cache-Contro="no-cache" then purge any cache page that may exist for that URL and pass request on.
if (req.http.Cache-Control ~ "no-cache") { purge_url(req.url); return(pass); }
# If request is not a valid HTTP Method pipe it to the backend it is not cacheable.
if (req.request!="GET" && req.request!="HEAD" && req.request!="PUT" && req.request!="POST" &&
req.request!="TRACE" && req.request!="OPTIONS" && req.request!="DELETE")
{ return (pipe); } /*Non-RFC2616*/
# If request is not a GET or a HEAD then pass it through since its not cacheable.
if (req.request!="GET" || req.request!="HEAD") { return (pass); }
# Unset cookies on Drupal specific files that should be cached.
if (req.url ~ "^/(files|misc|sites|themes|modules)/" || req.url ~ "\.(txt|ico)$") { unset req.http.Cookie; }
# If request requires Authentication or has a Cookie then it is not cacheable.
if (req.http.Authorization || req.http.Cookie) { return (pass); }
# Normalize and compress content if Encoding starts with gzip or defalte but do not compress binary files.
# @see: http://varnish.projects.linpro.no/wiki/FAQ/Compression
if (req.http.Accept-Encoding) {
if (req.url ~ "\.(jpg|png|gif|gz|tgz|bz2|tbz|mp3|ogg)$") { 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 {unset req.http.Accept-Encoding; }
}
# If requested page is currently being processed on another thread to a backend server, server cached page if its not older than 30s.
set req.grace = 30s;
# Fall back to the default vcl_recv which will call the return(lookup);
}
sub vcl_pipe
{
set req.http.connection = "close";
# Fall back to the default vcl_pipe which will call return(pipe);
}
sub vcl_fetch
{
# If the response from the backend is not a 200, 203, 300, 301, 302, 404 or 410.
if (!beresp.cacheable) { return (pass); }
}
--------------------------------------------------------
Raymond Bacion
ITSD Operating System Group
Phone: (573) 522-1468
Fax : (573) 522-1384
Email: Ray.Bacion at oa.mo.gov
-------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20110203/4062437d/attachment-0003.html>
More information about the varnish-misc
mailing list