正如标题所示,我想分别记录某些包含某些自定义标头(例如$http_x_custom_header_1
和$http_x_custom_header_2
)的请求。我发现了几个类似的例子(包括1,2)和相关文档,但我必须遗漏一些东西,因为我无法让它工作。
以下是我的/etc/nginx/sites-enabled/example.com
conf文件的内容:
map $http_x_custom_header_1 $X_CUSTOM_HEADER {
1 1;
}
map $http_x_custom_header_2 $X_CUSTOM_HEADER {
1 1;
}
server {
listen 80;
listen [::]:80;
root /var/www/example.com/public_html;
index index.html;
server_name example.com;
access_log /var/log/nginx/access.log combined if=!$X_CUSTOM_HEADER;
access_log /var/log/nginx/custom-access.log combined if=$X_CUSTOM_HEADER;
location / {
try_files $uri $uri/ =404;
}
}
我还尝试在access_log
中评论/etc/nginx/nginx.conf
行,以防它覆盖上述配置,但没有运气。
编辑:使一些变量小写