3

我有 nginx 服务器,但需要运行apache_note()功能。
是否有提供此功能的任何模块或 nginx 补丁?还需要用于 nginx 或类似替代方案的usertrack扩展(在 apache 中很容易获得)。如果 nginx 没有可用的 usertrack,请建议一些模拟相同功能的逻辑。

4

3 回答 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 中很容易获得)。

http://nginx.org/en/docs/http/ngx_http_userid_module.html

于 2012-11-15T19:53:59.757 回答
1

我在寻找 apache_note() 的 NGINX 替代品时也发现了这一点。关于它的信息不多,我发现提到的唯一解决方案是只使用响应标头。仅此一项不适用于您不想发回给用户的数据,这就是我正在处理的情况。

我找到的解决方案是使用HttpHeadersMoreModule在将标题传递给用户之前清除它们。这也会清除“$sent_http_”变量,但保留“$upstream_http_”可用于您的日志。

于 2015-08-04T16:42:57.447 回答