【问题标题】:apache httpd log : filter out lines containing a stringapache httpd log:过滤掉包含字符串的行
【发布时间】:2021-12-18 19:37:37
【问题描述】:

我正在尝试从自定义 httpd 日志文件中获取 TLS

SetEnvIf SSL_PROTOCOL "TLSv1.2" dontlog
CustomLog logs/TLSv_TSV \
"%h\t\
%{SSL_PROTOCOL}x\t\
%{SSL_CIPHER}x\t\
%{User-Agent}i\t\
%r" env=!dontlog

但仍会记录“TLSv1.2”条目。

我做错了什么?

【问题讨论】:

    标签: apache httpd.conf


    【解决方案1】:

    Afaik setEnvIf 只能访问少数变量。

    尝试使用表达式引擎:

    SetEnvIfExpr "%{SSL_PROTOCOL} == 'TLSv1.2'" dontlog
    

    【讨论】:

    • 哇,我们快到了!

      在您提出建议之前我的行类型:
      TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 Mozilla/5.0 ( Linux;Android 10;M2007J22G) AppleWebKit/537.36(KHTML,如 Gecko)

      之后,我得到我想要的,说:
      TLSv1 AES256-SHA Guzzle/5.3.1 curl/7.29.0 PHP /5.4.16

      奇怪的是,我仍然得到了我没想到的那种(而且只有那种)类型的行:
      TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 - -
      TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 - -
      [...]

      这似乎是一个特定的错误,你怎么看?
    猜你喜欢
    • 1970-01-01
    • 2021-09-08
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 2014-03-08
    • 2014-05-16
    • 2019-11-18
    相关资源
    最近更新 更多