Limit file types that can be proxied

I am trying to limit the file types that can be proxied from our backend
server. I am trying to limit it to jpg, gif, png, css and then two
other specific files - Thumbnail.ashx and hearbeat.htm. I am also
hoping to limit access to only certain referers.

I have tried this code which works fine for the jpg, gif, png, css but
is not working for the heartbeat.htm file. It gives a 404 on all .htm
files including heartbeat.htm.

location ~* (.jpg|.png|.gif|.css|ThumbNail.ashx|heartbeat.htm)$ {

valid_referers
  none
  blocked
  example.com
  www.example.com
  examplellimages.com
  www.examplellimages.com
  1.examplellimages.com
  2.examplellimages.com
  3.examplellimages.com
  4.examplellimages.com;

if ($invalid_referer) {
  return 404;
}



proxy_pass  http://exampleimages_com;
}

Any help would be appreciated.

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,91106,91106#msg-91106

On Thu, May 27, 2010 at 11:19 AM, reference123 [email protected]
wrote:

                   www.example.com

nginx mailing list
[email protected]
http://nginx.org/mailman/listinfo/nginx

Hello,

I’m not sure why heartbeat.htm is not captured there offhand, it seems
correct on a quick look. Another way to separate heartbeat would be
with an explicit location such as:

location = /heartbeat.htm { proxy_pass http://whatever; }

Thanks,
Merlin