我有一个nginx作为后端前的代理,我想分开对特定位置的请求到一个单独的文件。
仍然请求应该去相同的后端服务器,但我不想看到他们在主要访问日志里面。
另外我不想指定所有的proxy_东西两次。
server { ... access_log /var/log/nginx/jira.access.log full; error_log /var/log/nginx/jira.error.log; client_max_body_size 150m; location /special/ { } location / { # many lines of config params for proxy_... proxy_pass http://dowa-02.example.com:8080; ... } }
UPD
嗯… access_log指令有一个“function”。
请求将在处理结束的位置的上下文中logging。 如果在请求处理期间发生内部redirect,这可能与原始位置不同。
在try_files的情况下,内部redirect。 尝试更改try_files来include和删除命名的位置。
UPD的结束
为了不重复多次“proxy_ stuff”,例如可以使用include指令。 但是try_files和命名的位置要好得多:)
server { ... access_log /var/log/nginx/jira.access.log full; error_log /var/log/nginx/jira.error.log; client_max_body_size 150m; location /special/ { try_files $uri @backend; access_log /var/log/nginx/special.access.log full; } location / { try_files $uri @backend; } location @backend { # many lines of config params for proxy_... proxy_pass http://dowa-02.example.com:8080; ... } }