linux – Nginx,从某些域引用日志引用到单独的日志文件

linux – Nginx,从某些域引用日志引用到单独的日志文件,第1张

概述我有我的nginx设置阻止某些引用,如下所示: if ($http_referer ~* (site_name) ) { return 403;} 这工作正常,但我还想将阻止的引用者记录到单独的文件中. 我尝试添加 access_log /path/to/server/bad_domain.log; 在if语句中;但这不起作用. 有任何想法吗? 谢谢. 编辑: 我也试过这个无济于事. if 我有我的Nginx设置阻止某些引用,如下所示:
if ($http_referer ~* (site_name) ) {  return 403;}

这工作正常,但我还想将阻止的引用者记录到单独的文件中.

我尝试添加

access_log /path/to/server/bad_domain.log;

在if语句中;但这不起作用.

有任何想法吗?

谢谢.

编辑:

我也试过这个无济于事.

if ($http_referer ~* (site_name) ) {  set $crawler 'yes';  return 403;}location ~ .* {  if ($crawler = 'yes') {  access_log /path/to/server/bad_domain.log;    }}

编辑2:

map $http_referer $log_referer {  domain1.com  1;  default      0;}server { ..    if ($http_referer = "1") {    set $log_referer 1;}   access_log /path/to/logs/bad_domain.log if=$log_referer;...}

给我的输出

Nginx: [emerg] unkNown log format "if=$log_referer"
解决方法 根据发现 here和 here的Nginx文档,尝试使用map规则将您的http引用映射到某个值,然后根据该值登录到特定文件.将此映射放在http上下文中(服务器上下文之外):
map $http_referer $log_referer {  example.com  1;  default      0;}

这将转到您的服务器,位置等;

access_log /path/to/bad_domain.log combined if=$log_referer;
总结

以上是内存溢出为你收集整理的linux – Nginx,从某些域引用日志引用到单独的日志文件全部内容,希望文章能够帮你解决linux – Nginx,从某些域引用日志引用到单独的日志文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1036923.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存