4

我们将 nginx 作为反向代理运行,它将请求转发到运行 Compojure 的 Clojure 应用程序,Compojure 是一个包装 Jetty 并为我们的应用程序提供服务 Web 请求的能力的库。

我们目前捕获 nginx 和 Clojure 应用程序生成的日志(通过 log4j 到 syslog)。但是,我们无法将 nginx 日志中的条目与 Clojure 应用程序的 syslog 输出中的条目相匹配。

我们需要找到一种方法来修改上游发送到 Clojure 应用程序的请求以包含某种 ID。这可以是一个整数、UUID 等等。

你对如何最好地做到这一点有什么建议吗?

谢谢你的帮助!

4

2 回答 2

4

Compojure 写在环上,环有中间件 :)

您将编写一个名为的中间件,该中间件with-uuid将 UUID 添加到请求映射中,并添加到输出中的回复中。

于 2010-10-28T01:15:08.127 回答
2

当然最好的方法是一个 nginx 模块,复制 apache 的 mod_unique_id 的功能。

似乎还没有。这是一个希望有一天能升级到模块的补丁:

http://mailman.nginx.org/pipermail/nginx-devel/2011-June/001015.html

于 2012-03-12T10:31:16.287 回答