On Wed, 9 Jan 2019 08:20:05 +0000 Francis Daly <[email protected]> wrote:
> On Tue, Jan 08, 2019 at 07:30:44PM -0800, [email protected] 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. _______________________________________________ nginx mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx
