I’m trying to add support for google chrome frame to our nginx config
the simple way would be to include a fragment in each server block which
looks something like:
The problem is for some reason add_header isn’t allowed in server-if
blocks on location-if blocks. I can’t see or think of a reason why this
shouldn’t be allowed?
So I tried adding it and it seems to work without a problem. The
following patch, made against 0.8.40, adds server if block support for
both expires and add_header.
On Mon, Jun 14, 2010 at 07:04:21PM -0400, steveh wrote:
I’m trying to add support for google chrome frame to our nginx
config the simple way would be to include a fragment in each
server block which looks something like:
Just adding X-UA-Compatible unconditionally should be sufficient,
but if you really want to return it to chrome frame only, try
something like this:
set $tt "";
if ($http_user_agent ~ chromeframe) {
set $tt "chrome=1";
}
add_header X-UA-Compatible $tt;
Note well: add_header used in location would reset inherited
add_header directives (usual array inheritance rules apply), so
you have to repeat add_header in such locations (if any).
The problem is for some reason add_header isn’t allowed in
server-if blocks on location-if blocks. I can’t see or think of
a reason why this shouldn’t be allowed?
Actually, the real question is “why it’s allowed in ‘if in
location’ blocks”. The answer seems to be “uh, it was a mistake”.
See here for details:
So I tried adding it and it seems to work without a problem. The
following patch, made against 0.8.40, adds server if block
support for both expires and add_header.
You didn’t tested it well enough. It does nothing but removes
config parsing error.
My initial test which made me think it was working, when it wasn’t,
seems to be due chrome frame some how caching the result of headers. So
if you load a page once which triggers chrome mode due to the correct
header in place, if you remove said header and reload it still loads in
chrome frame. Will be down to how refresh works I expect. You live and
learn
Thanks again.
Posted at Nginx Forum:
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.