Need logic to not check for bad user agent if xml file

Maxim Dounin mdounin at
Thu Dec 20 13:23:23 UTC 2018


On Thu, Dec 20, 2018 at 01:42:49AM -0800, lists at wrote:

> I have a map to check for bad user agents called badagent. I want to
> set up a RSS feed. The feedreaders can have funny agents, so I need to
> omit the bad agent check if the file is any xml type. 
> This is rejected.
>         if (($request_uri != [*.xml]) && ($badagent)) {return 444; }
> Suggestions?
> I can put the xml files in a separate location if that helps.

Doing the $badagent only in locations where you want to reject 
bots would be the most simple approach.  That is, consider 
something like this:

    location / {
        if ($badagent) {
            return 403;


    location /rss/ {

Maxim Dounin

More information about the nginx mailing list