4

nginxをリバースプロキシとして実行し、Compojureを実行しているClojureアプリケーションにリクエストを転送します。これは、Jettyをラップアラウンドし、アプリケーションにWebリクエストを処理する機能を提供するライブラリです。

現在、nginxとClojureアプリケーションの両方によって生成されたログをキャプチャしています(log4jを介してsyslogに)。ただし、nginxログのエントリをClojureアプリケーションのsyslog出力のエントリと一致させることはできません。

Clojureアプリにアップストリームで送信されるリクエストを変更して、ある種のIDを含める方法を見つける必要があります。これは整数、UUIDなどです。

これを達成するための最善の方法について何か提案はありますか?

ご協力いただきありがとうございます!

4

2 に答える 2

4

Compojureはリングに書かれており、リングにはミドルウェアがあります:)

with-uuid途中でリクエストマップにUUIDを追加し、途中で応答にUUIDを追加するというミドルウェアを作成します。

于 2010-10-28T01:15:08.127 に答える
2

もちろん、最善のアプローチは、apacheのmod_unique_idの機能を複製するnginxモジュールです。

まだないようです。いつかモジュールに卒業したいパッチは次のとおりです。

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

于 2012-03-12T10:31:16.287 に答える