0

Ubuntu 12.04 LTS、Pound 2.6、Apache2.2を実行しているサーバーがあります。また、apacheモジュールmod_rpaf(https://github.com/gnif/mod_rpafからインストール)をインストールして有効にし、変数REMOTE_ADDRにプロキシのアドレスではなく実際のユーザーIPアドレスが表示されるようにします。これは正常に機能しますが、変数REMOTE_HOSTはmod_rpafによって変更されません。この変数には「localhost」が含まれ、指定されたユーザーIPアドレスのホストは含まれません。

手伝ってくれませんか。

これが私のmod_rpaf構成です:

root@perseus ~ # cat /etc/apache2/mods-enabled/rpaf.conf 
RPAF_Enable       On
RPAF_ProxyIPs     127.0.0.1
RPAF_Header       X-Forwarded-For
RPAF_SetHostName  On
RPAF_SetHTTPS     On
RPAF_SetPort      On

ありがとうございました

4

2 に答える 2

1

欠落しているREMOTE_HOSTに関する前の質問に対するこれらの回答を確認してください。

REMOTE_HOSTSは、apacheによって入力される場合とされない場合がある変数です(設定されていない場合は、すべての着信要求に対してapacheによるDNSクエリを意味します)。したがって、コードの何もREMOTE_HOSTに依存するべきではありません。アプリケーションは、この変数がそこにあり、正しく入力されると想定するべきではありません。

mod_rpafは、設計されていることを実行します。ドキュメント:

REMOTE_ADDR、HTTPS、およびHTTP_PORTをアップストリームプロキシによって提供される値に設定します。

これで、信頼できる唯一の変数であるREMOTE_ADDRが機能するようになりました。本当に必要な場合は、REMOTE_HOSTにコピーを作成し、アプリケーションコードで実行してください。

于 2012-10-17T12:13:03.353 に答える
1

Ubuntu LTS 12.04には、rpafがまったく機能しないというバグがあります。

https://bugs.launchpad.net/ubuntu/+source/libapache2-mod-rpaf/+bug/1002571

回避策

rpaf.confで置換

<IfModule mod_rpaf.c>

<IfModule mod_rpaf-2.0.c>
于 2013-01-27T10:17:01.193 に答える