"msie_padding on" doesn't work?

msie_padding is set to on by default (and I didn’t change it). Today I
added this line to my location php block:
if ($http_user_agent ~ “MSIE 6” ) {
return 403 “Browser not supported. Please update or change to
another
one.”;
}

So now it is:
location ~ .php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+.php)(/.+)$;
include /etc/nginx/fastcgi.conf;
fastcgi_pass unix:/var/run/php5-fpm.sock;
if ($http_user_agent ~ “MSIE 6” ) {
return 403 “Browser not supported. Please update or change to
another
one.”;
}
}

It works (with curl and a IE6 user-agent I get my custom error message),
the problem is that IE6 (real browser) displays its default error page
(because my message is < of 512 bytes). But msie_padding on should “fix”
that, am I wrong?

If I change the error to something longer it works! For example I set
one
(in italian, sorry): “Internet Explorer 6.0 non e’ supportato. Per poter
visualizzare il sito aggiorna ad una versione successiva o installa un
browser alternativo (Google Chrome, Mozilla Firefox, Opera …).” and it
displays my error.

On Dec 26, 2012, at 19:54 , Lorenzo R. wrote:

fastcgi_pass unix:/var/run/php5-fpm.sock;
if ($http_user_agent ~ "MSIE 6" ) {
  return 403 "Browser not supported. Please update or change to another 

one.";

}

}

It works (with curl and a IE6 user-agent I get my custom error message), the
problem is that IE6 (real browser) displays its default error page (because my
message is < of 512 bytes). But msie_padding on should “fix” that, am I wrong?

No, nginx adds this padding only to its internal messages.

If I change the error to something longer it works! For example I set one (in
italian, sorry): “Internet Explorer 6.0 non e’ supportato. Per poter visualizzare
il sito aggiorna ad una versione successiva o installa un browser alternativo
(Google Chrome, Mozilla Firefox, Opera …).” and it displays my error.

You create page for MSIE6:
error_page 402 = /msie6.html;

and return 402 error:

if ($http_user_agent ~ “MSIE 6”) {
return 402;
}