「Mod rpaf」の版間の差分
ナビゲーションに移動
検索に移動
imported>Fallout New Tokyo (→インストール) |
imported>Fallout New Tokyo |
||
(同じ利用者による、間の1版が非表示) | |||
8行目: | 8行目: | ||
=== 共通 === | === 共通 === | ||
Apache HTTP Server 2.4を使用している場合は[[パッチ]]を当てる必要がある。[[パッチ]]は[[FreeBSD]]の[[Ports]]にて配布されているものを利用するのが確実である<ref>http://svnweb.freebsd.org/ports/head/www/mod_rpaf2/files/</ref>。このパッチは[[プリプロセッサ]]でApache 2.4以降と以前で分岐するようになっているので他のバージョンでも問題は起きないだろう。 | Apache HTTP Server 2.4を使用している場合は[[パッチ]]を当てる必要がある。[[パッチ]]は[[FreeBSD]]の[[Ports]]にて配布されているものを利用するのが確実である<ref>http://svnweb.freebsd.org/ports/head/www/mod_rpaf2/files/</ref>。このパッチは[[プリプロセッサ]]でApache 2.4以降と以前で分岐するようになっているので他のバージョンでも問題は起きないだろう。 | ||
+ | |||
+ | === FreeBSD === | ||
+ | [[FreeBSD]]では[[Ports]]から[[インストール]]するのが簡単である。何も考えることはない。 | ||
+ | * www/mod_rpaf2<ref>http://svnweb.freebsd.org/ports/head/www/mod_rpaf2/</ref> | ||
=== Mac OS X === | === Mac OS X === | ||
− | [[Mac OS X]]標準の[[apxs]] | + | [[Mac OS X]]標準の[[apxs]]の設定がおかしいので修正する。これは他の拾ってきたモジュールを[[コンパイル]]する時も同様である。 |
<source lang="bash"> | <source lang="bash"> | ||
(cd /Applications/Xcode.app/Contents/Developer/Toolchains/; sudo ln -s XcodeDefault.xctoolchain OSX10.9.xctoolchain) | (cd /Applications/Xcode.app/Contents/Developer/Toolchains/; sudo ln -s XcodeDefault.xctoolchain OSX10.9.xctoolchain) |
2014年2月17日 (月) 02:09時点における最新版
mod_rpafとは、リバースプロキシやロードバランサーなどの配下にあるApache HTTP Serverにアクセス元のIPアドレスを伝えるモジュールである。
目次
概要[編集 | ソースを編集]
mod_rpafを入れてないとApache HTTP Serverで受け取れるアクセス元がすべてロードバランサーのIPアドレスになるためアクセスログが意味不明になる。poundなどを利用しているときは必須である。
インストール[編集 | ソースを編集]
共通[編集 | ソースを編集]
Apache HTTP Server 2.4を使用している場合はパッチを当てる必要がある。パッチはFreeBSDのPortsにて配布されているものを利用するのが確実である[1]。このパッチはプリプロセッサでApache 2.4以降と以前で分岐するようになっているので他のバージョンでも問題は起きないだろう。
FreeBSD[編集 | ソースを編集]
FreeBSDではPortsからインストールするのが簡単である。何も考えることはない。
- www/mod_rpaf2[2]
Mac OS X[編集 | ソースを編集]
Mac OS X標準のapxsの設定がおかしいので修正する。これは他の拾ってきたモジュールをコンパイルする時も同様である。
(cd /Applications/Xcode.app/Contents/Developer/Toolchains/; sudo ln -s XcodeDefault.xctoolchain OSX10.9.xctoolchain)
Mac OS Xではapxs2のコマンド名が何故か「apxs」なのでviなどでMakefileを修正する。
- 修正前:APXS2=$(shell which apxs2)
- 修正後:APXS2=$(shell which apxs)
ビルドする。makeにはApache 2.xであることを明示する引数が必須なので注意すること。
make rpaf-2.0 make test-2.0 make install-2.0
設定ファイルの記述例[編集 | ソースを編集]
mod_rpaf2.conf[編集 | ソースを編集]
<IfModule !rpaf.c>
LoadModule rpaf_module libexec/apache22/mod_rpaf2.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1
RPAFheader X-Forwarded-For
</IfModule>
httpd.conf[編集 | ソースを編集]
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
# mod_logioが有効な場合は転送量を記載する。
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
<IfModule logio_module>
CustomLog "/var/log/httpd-access.log" combinedio
</IfModule>
<IfModule !logio_module>
CustomLog "/var/log/httpd-access.log" combined
</IfModule>
</IfModule>