我有 nginx 服务器,但需要运行apache_note()功能。
是否有提供此功能的任何模块或 nginx 补丁?还需要用于 nginx 或类似替代方案的usertrack扩展(在 apache 中很容易获得)。如果 nginx 没有可用的 usertrack,请建议一些模拟相同功能的逻辑。
问问题
1651 次
3 回答
2
我看到对此有一个公认的答案,只是添加它,因为我猜包括我自己在内的很多人都是从谷歌搜索 apache_note 和 Nginx 来到这里的。
使用 apache_note 的一个主要原因是在访问日志中存储一些内容。例如,当您不使用基本身份验证时的用户名。
使用 PHP 和 Nginx 实现此目的的一种简单方法是将其作为标头发送并记录。
PHP:header('username: johndoe');
在 nginx.conf 中的 log_format 中添加以下内容:$sent_http_username
所有标头都以 $sent_http_HEADERNAME 的形式提供给日志
于 2014-10-10T08:34:06.263 回答
1
还需要用于 nginx 或类似替代方案的 usertrack 扩展(在 apache 中很容易获得)。
于 2012-11-15T19:53:59.757 回答
1
我在寻找 apache_note() 的 NGINX 替代品时也发现了这一点。关于它的信息不多,我发现提到的唯一解决方案是只使用响应标头。仅此一项不适用于您不想发回给用户的数据,这就是我正在处理的情况。
我找到的解决方案是使用HttpHeadersMoreModule在将标题传递给用户之前清除它们。这也会清除“$sent_http_”变量,但保留“$upstream_http_”可用于您的日志。
于 2015-08-04T16:42:57.447 回答