これで、nginxの前にVarnish 4(これまで3つを使用していました)の新規インストールでクライアントIPアドレスを取得しようとしています。 AWSロードバランサの背後にあり、ワニスの下でログに記録するクライアントのIPアドレスを取得できないようです。クライアントIPアドレスの代わりに4ロギングプロキシ/ロードバランサ
は、以前は3で、我々は)sub_recv(の上部にこれを使用する:別のサーバー上の
std.collect(req.http.x-forwarded-for);
if (req.http.X-Forwarded-For)
{
set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
} else
{
set req.http.X-Forwarded-For = client.ip;
}
もこの:
std.collect(req.http.x-forwarded-for);
if (req.http.x-forwarded-for) {
std.log("ip:" + req.http.x-forwarded-for);
} else {
std.log("ip:" + client.ip);
}
これらのどちらもが、しかし、ワニス4で作業しています最初のコードブロックは本質的には私が読んだことからこの時点でワニスにコード化されています。 私はまた、無無駄にこれを試してみました:
remove req.http.X-Forwarded-For;
set req.http.X-Forwarded-For = client.ip;
この最後の項目は、VCLにまだあるものです。私はいくつかの無関係なセクションを削除して、pastbin(http://pastebin.com/Q1nCprxL)にvcl全体を入れました。 x-forwarded-forはそこにあり、ワニスは単純に一番左のIPアドレスではなく一番右のIPアドレスを記録しています。
X-Forwarded-For: 209.53.112.36, 172.25.10.228