我正计划在Ubuntu 14.04上运行的apache 2.4服务器上禁用TLSV1。 在这之前,我认为分析有多less用户会受到影响是一件好事。 我已经通读了apache日志文档,这应该允许我logging环境variables。
http://httpd.apache.org/docs/2.4/mod/mod_log_config.html
我有一个RewriteRule我设置redirect用户TLSV1工作正常,这个规则是这样的。
RewriteCond %{SSL:SSL_PROTOCOL} ^TLSv1$ RewriteRule ^/test* /bad-ssl.html [L]
这是完美的。 但是我不能让日志模块写入SSl环境variables。
CustomLog ${APACHE_LOG_DIR}/ssl.log "%a \"%{SSL_PROTOCOL}e\" \"%{SSL:SSL_PROTOCOL}e\" \"%{evn:SSL_PROTOCOL}e\""
我错过了什么?
因此,variablesSSL_PROTOCOL(和所有其他mod_sslvariables)在技术上不是环境variables
"%{VARNAME}e"
将无法工作。
根据http://httpd.apache.org/docs/2.4/mod/mod_ssl.html (部分自定义日志格式 ),你必须使用语法:
"%{VARNAME}x"
用于SSLvariables。 要修改你的configuration,它应该是:
CustomLog ${APACHE_LOG_DIR}/ssl.log "%a \"%{SSL_PROTOCOL}x\""
我假设SSL:SSL_PROTOCOL和evn:SSL_PROTOCOL只是试图达到相同的目的。