Request URI is too long.

長いURLなどで、「414 Request URI is too long.」エラーが発生してしまう問題。
具体的にはヘッダが1KB以上の場合にこのエラーが発生する模様。

対応するには、ソースを一部修正すればよい。
(configureのオプションでって情報もあったけど、うまくいかなかった)

dagのrpmでインストールしてたので、ソースRPMを拾ってきて修正後、ビルド、差し替えた。

環境

pound 2.4.1
CentOS 5.1 x86_64

ダウンロード・展開

http://dag.wieers.com/rpm/packages/pound/?D=A
上記URLより最新のソースRPMを入手。

wget http://dag.wieers.com/rpm/packages/pound/pound-2.4-1.rf.src.rpm
rpm -ihv pound-2.4-1.rf.src.rpm

ソースコードの修正

cd /usr/src/redhat/SOURCES/
tar zxvf Pound-2.4.tgz
vi Pound-2.4/pound.h

以下の一行を修正

#define MAXBUF      1024
↓
#define MAXBUF      4096
tar zcvf Pound-2.4.tgz Pound-2.4

ビルド、インストール

cd ../SPECS/pound.spec
rpmbuild -ba pound.spec
rpm -Uvh /usr/src/redhat/RPMS/x86_64/pound-2.4-1.rf.x86_64.rpm
service pound reload

以上

↓参考、というかそのまんま
Pound が Header Buffer を 2KByte しか確保しない不都合