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,从某些域引用日志引用到单独的日志文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)