Nginx - How to only allow image requests
    amenjava 
    nginx-forum at forum.nginx.org
       
    Thu May  6 17:45:39 UTC 2021
    
    
  
Hello,
I am setting up a proxy that accepts only image requests and sends them to
upstream (internet).
Sample config:
#  Limit requests to only images
     default_type image/webp;
     if ($request_uri !~* ^.+\.(jpg|jpeg|gif|css|png|html|htm|ico|xml|svg) )
{
       return 403;
       break;
     }
The problem is there will be images without extension. How do we tackle
that? I did try with Lua but didn't help
for eg: https://test.com/shark.png - works (HTTP 200)
           https://test.com/shark - Doesnt work (HTTP 403)
# Testing (this is just for testing If the logic works, but doesn't seem
to)
   header_filter_by_lua '
    local val = ngx.header["testheader"]
     if val then
         if (val ~= "img") or (val ~= "image") then
             return ngx.exit(400)
           end
    end
---
Can anyone provide some pointers around it?
Posted at Nginx Forum: https://forum.nginx.org/read.php?2,291446,291446#msg-291446
    
    
More information about the nginx
mailing list