Re: I need my “bad user agent” map not to block my rss xml file

lists at lazygranch.com lists at lazygranch.com
Thu Jan 10 02:14:04 UTC 2019


On Wed, 9 Jan 2019 08:20:05 +0000
Francis Daly <francis at daoine.org> wrote:

> On Tue, Jan 08, 2019 at 07:30:44PM -0800, lists at lazygranch.com wrote:
> 
> Hi there,
> 
> > Stripping down the nginx.conf file:
> > 
> > server{
> > location / {
> >  root   /usr/share/nginx/html/mydomain/public_html;
> >         if ($badagent)     { return 403; }
> > }
> > location = /feeds {
> >         try_files $uri $uri.xml $uri/ ;
> >        }
> > }
> > The "=" should force an exact match, but the badagent map is
> > checked.  
> 
> What file on your filesystem is your rss xml file?
> 
> Is it something other than /usr/local/nginx/html/feeds or
> /usr/local/nginx/html/feeds.xml?
> 
> And what request do you make to fetch your rss xml file?
> 
> Do things change if you move the "root" directive out of the
> "location" block so that it is directly in the "server" block?
> 
> 	f

Good catch on the root declaration. Actually I declared it twice. Once
under server and once under location. I got rid of the declaration
under location since that is the wrong place.

So it is now:
 server{
  root   /usr/share/nginx/html/mydomain/public_html;
 location / {
         if ($badagent)     { return 403; }
 }
 location = /feeds {
         try_files $uri $uri.xml $uri/ ;
        }
 }

 The "=" should force an exact match, but the badagent map is
 checked.  

Absolutely the badagent check under location / is being triggered.
Everything works if I comment out the check.

The URL to request the XML file is domain.com/feeds/file.xml . 
It is located in /usr/share/nginx/html/mydomain/public_html/feeds .

Here is the access.log file. First line is with the badagent check
skipped. Second line is with it enable.
200 xxx.58.22.151 - - [10/Jan/2019:02:07:42 +0000] "GET /feeds/file.xml HTTP/1.1" 3614 "-" "-" "-"
403 xxx.58.22.151 - - [10/Jan/2019:02:08:38 +0000] "GET /feeds/file.xml HTTP/1.1" 169 "-" "-" "-"
I'm using the RSS reader Akregator in this case. Some readers work fine
since they act more like browsers.





More information about the nginx mailing list