Welcome! Log In Create A New Profile

Advanced

try_files / if / access_log question

May 23, 2014 12:22PM
I'm trying to create a config that doesn't log the requests from specific user agents. The site has a gunicorn backend that we proxy to, and I'm trying to set up try_files to test for the existence of static local files before proxying to the back-end.

The try_files config is the new part, everything was working fine before I added that.

Here's the nginx.conf I'm using for testing:

user nginx;
worker_processes 8;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

events {
worker_connections 1024;
}

http {
upstream backend {
server 127.0.0.1:8004;
}

include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;

map $http_user_agent $ignore_ua {
default 0;
"test-agent" 1;
}

server {
listen 80;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header Accept-Encoding "";

location @gunicorn {
proxy_pass http://backend$uri$args;
add_header X-Cached $upstream_cache_status;
}

location / {
# if ($ignore_ua) { access_log off; }
try_files $uri/index.cchtml @gunicorn;
}
}
}



With the "if" statement commented out, the requests work as I expect them:

curl -s -D- -A test-agent http://site.ordprofile01.example.net/uri/ | head -n 20

HTTP/1.1 200 OK
Server: nginx/1.6.0
Date: Fri, 23 May 2014 16:11:38 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Cookie

<!DOCTYPE html><!--[if lt IE 7]>...

If I uncomment the "if" statement I see this instead:

curl -s -D- -A test-agent http://site.ordprofile01.example.net/uri/ | head -n 20

HTTP/1.1 404 Not Found
Server: nginx/1.6.0
Date: Fri, 23 May 2014 16:11:24 GMT
Content-Type: text/html
Content-Length: 168
Connection: keep-alive

<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.6.0</center>
</body>
</html>

What am I doing wrong here?
Subject Author Posted

try_files / if / access_log question

sfrazer May 23, 2014 12:22PM

Re: try_files / if / access_log question

sfrazer May 23, 2014 12:26PM

Re: try_files / if / access_log question

Francis Daly May 23, 2014 02:54PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 112
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready