リバースプロキシPound
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2006/12/30(土) 18:54:40Poundについて語るスレであります。
配布元
http://www.apsis.ch/pound
紹介記事
http://php.y-110.net/wiki/index.php?%A5%ED%A1%BC%A5%C9%A5%D0%A5%E9%A5%F3%A5%B5%A1%A7Pound
Poundの機能に不足を感じる方はこちらへ(Squidスレ)
http://pc10.2ch.net/test/read.cgi/unix/1138826120/l50
0002名無しさん@お腹いっぱい。
2006/12/30(土) 19:14:36#!/bin/bash
# init file for pound
#
# chkconfig: - 50 50
# description: HTTP Reverse Proxy Daemon
#
# processname: /usr/local/sbin/pound
# config: /usr/local/etc/pound.conf
# pidfile: /var/run/pound.pid
#
# source function library
. /etc/init.d/functions
prog="pound"
RETVAL=1
start() {
echo -n $"Starting $prog: "
daemon /usr/local/sbin/pound
RETVAL=$?
echo
touch /var/lock/subsys/pound
return $RETVAL
}
0003名無しさん@お腹いっぱい。
2006/12/30(土) 19:14:590004名無しさん@お腹いっぱい。
2006/12/30(土) 19:15:42stop() {
echo -n $"Stopping $prog: "
killproc /usr/local/sbin/pound
RETVAL=$?
echo
rm -f /var/lock/subsys/pound
return $RETVAL
}
reload(){
stop
start
}
restart(){
stop
start
}
condrestart(){
[ -e /var/lock/subsys/pound ] && restart
return 0
}
0005名無しさん@お腹いっぱい。
2006/12/30(土) 19:16:27おわり
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
condrestart)
condrestart
;;
status)
status pound
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
RETVAL=1
esac
exit $RETVAL
0006名無しさん@お腹いっぱい。
2006/12/30(土) 19:39:0400071
2006/12/30(土) 19:41:20あーすんません。
「適当」ってのは、パクって適当に改変したって意味です。
元になったのは、確かucd-snmpとかいうやつです。
0008名無しさん@お腹いっぱい。
2006/12/30(土) 20:00:14なにか箱を前に入れるの?
0009名無しさん@お腹いっぱい。
2006/12/30(土) 20:57:22Pound自体をロードバランスする必要はないと思いますが、
どうですかね。
自分は、最大同時コネクション数が2 300のWebアプリでPoundを使ってますが、
Pentium2 450MHz x 2というヘボスペックでも、
Poundの負荷が問題になったことはないです。
ただ、poundは全てのログをsyslogに吐くので、
syslogが遅いと、それに引きずられるかもしれないですが。
冗長性を持たせるのが目的なら、LVSとかですかね。
0010名無しさん@お腹いっぱい。
2007/01/04(木) 16:04:32俺はスゲー便利だと思うけどな。
0011名無しさん@お腹いっぱい。
2007/01/04(木) 16:46:30Apacheモジュールタイプ、WASやOASについてくるやつ、
はたまた、ServerIronのようなハードウェアタイプなどなど。
わかりやすく比較している記事とかないかなぁ。
0012名無しさん@お腹いっぱい。
2007/01/05(金) 11:02:42ttp://kevinminnick.blogspot.com/2006/03/my-evaluation-of-reverse-proxy.html
0013名無しさん@お腹いっぱい。
2007/01/31(水) 02:05:59pound: MONITOR: worker exited on signal 11, restarting...
というエラーを吐いてどうもうまく動作しません。ググってみたところ NPLT やら
LD_ASSUME_KERNEL というキーワードが見つかったので
env LD_ASSUME_KERNEL=2.4.19 /usr/sbin/pound
としてみたのですが、手元の環境では変化ありませんでした。
適当に試行錯誤してみた結果 pound.cfg の Service ブロック内に Session ブロック
を書いて Type として IP 以外を指定すると問題なく reverse proxy として動作する
ようになったのですが、みなさんのお手元ではこういう問題は発生していないですかね?
001413
2007/01/31(水) 12:37:06昨日はどういうわけか http://www.apsis.ch/pound/ にアクセスできなかったので
確認を怠ってしまったのですが deb 化されている 2.0 って最新版じゃなかったのね orz
0015名無しさん@お腹いっぱい。
2007/01/31(水) 12:48:280016名無しさん@お腹いっぱい。
2007/03/21(水) 04:50:14多分関係ないと思うが、
昔、poundでOpenSSH関連の意味不明なエラーが出て困ったことがあった。
詳細な理由は不明だが、どうやら「rootじゃないアカウントでpoundをビルドしたこと」が
原因だったようだ。それ以来rootでmakeするようにしている。
0017名無しさん@お腹いっぱい。
2007/03/21(水) 16:43:540018名無しさん@お腹いっぱい。
2007/03/22(木) 03:21:590019名無しさん@お腹いっぱい。
2007/03/27(火) 01:02:36書くことが出来ないようにできる?
0020名無しさん@お腹いっぱい。
2007/03/27(火) 01:07:000021名無しさん@お腹いっぱい。
2007/03/27(火) 05:41:24ここは君の来るところではない。
Windows板の初心者スレあたりで質問してきなさい。
0022名無しさん@お腹いっぱい。
2007/05/09(水) 02:08:28CHANGELOG 眺めてもわからない… configure --disable-log が有効にならないみたいなんですけど。
0023名無しさん@お腹いっぱい。
2007/05/18(金) 18:01:23ソース短いんだし
0024名無しさん@お腹いっぱい。
2008/02/19(火) 18:44:55Pound最高.
Cookieのぞいてセッション見てくれる.
0025名無しさん@お腹いっぱい。
2008/02/28(木) 15:31:03こんなに便利なのになぁ
0026名無しさん@お腹いっぱい。
2008/04/06(日) 06:23:47完成度が高過ぎて話すネタがないのかも知れませんね、って1ヶ月後に書くのもなんですが。
0027名無しさん@お腹いっぱい。
2008/04/10(木) 15:01:04あるいはバックエンドの一部を落としたい時など,
設定ファイルを読み直させるにはどうすればいいんでしょうか?
kill -HUP <pid> ?
0028名無しさん@お腹いっぱい。
2008/04/11(金) 04:36:25poundctl
でなんとかなりそうじゃない?
0029名無しさん@お腹いっぱい。
2008/04/11(金) 06:37:17ごめん、不十分な説明だった。
バックエンドを落として、別のに切り替えたいときがあって。
まぁ新しいバックエンドを同じIPアドレスにすればいいのかも試練が。
それにしても堅牢だわ、pound。SSLオフロードもできるし。
商用のSSLオフロードバランサが商売になるのってどれくらいの
サイト規模なんだろうねぇ。
0030名無しさん@お腹いっぱい。
2008/04/11(金) 21:47:59大人になって誰かに責任をなすりつけられることの意味を知ったら小規模サイトでも使うよ
というのは冗談として,運用担当グループがスキル的にpoundの設定変更を任せられる
レベルじゃない場合は箱物を選択するんじゃない?
いつもBIG-IPとServerIronとArrayとPoundを並列に提案して客に選ばせるんだけど,
日本ではBIG-IP以外の選択を受けたことないよ.アメリカだとたまにArrayやPoundを
選択してもらえる時がある.
0031名無しさん@お腹いっぱい。
2008/04/11(金) 23:09:35まあ人件費よりは安いか…
てかエロサイト?
0032名無しさん@お腹いっぱい。
2008/04/11(金) 23:37:35BIG-IPやらServerIronあたりのメジャーなやつと連携が取れるようになっていたりもする。
0033名無しさん@お腹いっぱい。
2008/04/21(月) 18:03:48アクセス制限かけられねーよ…と思っていたら
mod_extract_forwarded2
なるものがあるのね
debian用パッケージはないのね
0034名無しさん@お腹いっぱい。
2008/04/22(火) 01:27:000035名無しさん@お腹いっぱい。
2008/04/22(火) 11:23:29ログをみても分けわかめになるのはどうすればいいの?
0036名無しさん@お腹いっぱい。
2008/04/22(火) 12:08:32>>33 のモジュールだってX-Forwardから取得してるんだし。
0037名無しさん@お腹いっぱい。
2008/04/22(火) 20:12:25Poundを通してMediaWiki(Wikipediaのシステム)を使うと
MediaWikiに記録されるIPアドレスが全部PoundのIPアドレスになってしまうということだったのよ
ApacheのログにアクセスしたIPアドレスを記録させるには
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
こんな風にするらしいよ
0038名無しさん@お腹いっぱい。
2008/04/22(火) 20:43:00>>34
0039名無しさん@お腹いっぱい。
2008/04/23(水) 08:34:11ショボーンだったけど,mod_extforward があるのを知った.
シャキーン
0040名無しさん@お腹いっぱい。
2008/04/23(水) 17:09:54apacheのソース見るとログは単純に文字列で、アクセス制限はソケットの構造体を見てる。
気になるのは3点。
・ログの%aや%hは上書きされるのか?
・IPアドレスベース、ホスト名ベースのアクセス制限は機能するのか?
・リバースプロキシにアクセスする際にX-Forwarded-Forを付けるとどうなるか?
mod_extract_forwarded2とかmod_rpafのソース読めばいいんだけどね。
0041名無しさん@お腹いっぱい。
2008/06/20(金) 17:59:01バックエンドのSSLはオレオレ証明書なのです。
Poundのパブリッシャ側というか、クライアント側というか、送信側は、オレオレ証明書のサービスに
対してリクエストを転送できないようですが、解決法はあるのでしょうか?
だれも、こんな使い方している人はいない?
0042名無しさん@お腹いっぱい。
2008/06/20(金) 23:01:07オレオレCA秘密鍵でバックエンド側のオレオレ証明書にサインすればいんじゃね?
0043名無しさん@お腹いっぱい。
2008/06/23(月) 09:31:32OpenSSLの仕組みに詳しくないため、かなり試行錯誤をしないと実現できない感じですが、
その方向性で試してみます。
バックエンドはIISなのです。
どうも有り難うございました。
004442
2008/06/23(月) 21:55:081) PoundサーバでCAの設定をする
2) PoundサーバでCAの証明書をRootCA(FreeBSDだと/etc/ssl以下にある.他は知らぬ)に追加
3) IISサーバでreqを作る
4) 3)のreqにPoundサーバで設定したCAの秘密鍵で署名する
5) IISで4)で署名された証明書を使うように設定する
って感じ!
0045名無しさん@お腹いっぱい。
2008/06/25(水) 20:58:31どうも有り難うございます。師匠と呼ばせて下さい。
CentOSなのですけれど、2)はFreeBSDだと可能なのでしょうか?
Linuxだと、2のやり方が分からなかったのですが。
PoundのMLを読んでいたら、stunnel使えば出来るって一言書かれていただけでした。
ということで、仕方なくstunnelを試してみました。
IISサーバにstunnelも入れてしまいましたが、上手く動きました。
経由アプリがさらに増えて、ちょっと性能的に気になりますが、
とりあえずこれでしのぐことにします。
どうも有り難うございました。
004642
2008/06/26(木) 01:06:55> CentOSなのですけれど、2)はFreeBSDだと可能なのでしょうか?
FreeBSDってか,OpenSSLなら可能です.OS関係ナシ
CentOS上のOpenSSLがどこにRootCA置いてるかは知らぬ.
つーか,rpm -ql openssl すれば一瞬で分かるんじゃないの?
IISサーバにstunnelって時点で何したいのか意味不明になったので
師匠の話は固辞させていただきますね
0047名無しさん@お腹いっぱい。
2008/06/26(木) 21:08:29IIS <-(HTTP)- Pound <-(HTTPS)- 外部
でも、IIS上のアプリがSLLを使用しないと動作しないのです。
オレオレ証明書で十分なのですが、とにかくSSL必須のアプリなのです。
そのため、PoundでSSLブリッジという表現になりました。
IIS <-(HTTPS)- Pound <-(HTTPS)- 外部
最終的には、今、下記の構成で暫定対処しています。
IIS <-(HTTPS)- stunnel <-(HTTP)- Pound <-(HTTPS)- 外部
Poundだけで構成した下記の場合には、IISが呼び出せない問題が生じました。
IIS <-(HTTPS)- Pound
上記の場合、Poundはクライアントと見なせますよね。
ということは、Windowsでいうところの信頼されたルート証明書機関に
証明書を追加すればよいと思ったのですが、
OpenSSLのprivateディレクトリに証明書を置いても接続できないのです。
調べたところ、そもそもLinuxではSSLのクライアント動作に
各アプリケーション共通のルート証明書参照という仕組みがない。
それは各アプリ毎に実装される部分である。
ということでした。そこでstunnelということになったのです。
分かりにくい説明ですみません。
証明書ストアという概念は、確かにJavaだとJava用ディレクトリ決まってますよね。
OpenSSLでは、本当にライブラリ使用アプリ側で違うものなのでしょうか‥‥
004842
2008/06/30(月) 01:51:08既にポインタは示したつもりだけど,技術的にVerisignの署名ならOKでオレオレCAの署名は
ダメなんてことあるわけないと思わない?
これ以上具体的に例示しろってことなら金くれ.
2万/hで売ってますんでよろしく.
0049名無しさん@お腹いっぱい。
2008/06/30(月) 21:38:40出来ない
0050名無しさん@お腹いっぱい。
2008/07/01(火) 17:17:280051名無しさん@お腹いっぱい。
2008/07/02(水) 14:18:260052名無しさん@お腹いっぱい。
2008/07/02(水) 15:12:050053名無しさん@お腹いっぱい。
2008/07/03(木) 15:15:480054名無しさん@お腹いっぱい。
2008/09/12(金) 10:39:31302ってセッショントラッキングの問題ですか?
0055名無しさん@お腹いっぱい。
2008/10/20(月) 18:51:41正常なレスポンスが返ってこなかったときに別のサーバにリトライするように
設定できますか?
0056名無しさん@お腹いっぱい。
2008/10/21(火) 01:53:34レスポンスが例えば500番台だったら別のバックエンドへ接続するというようなこと?
接続できなかったら別のバックエンド、もしくはエマージェンシーバックエンドへ、とはできるようだけど。
0057名無しさん@お腹いっぱい。
2008/10/29(水) 20:09:31blogのページとかで正常に見えなくなる事が多いんだけど
マニュアルも見てみたが初心者なんで何が足りないのか理解できんかった
正味ラウンドロビン機能だけできればいいんだがどーにかなりますか?
0058名無しさん@お腹いっぱい。
2008/10/30(木) 00:35:58blogなんかだとセッションがあるんじゃないの?
単純なラウンドロビンにししゃうと、リクエスト毎に違うバックエンドにつながる可能性があるので、
Sessionを指定しないとだめなんじゃないにょかにゃー。
ttp://www.apsis.ch/pound/index_html の SESSIONS
0059名無しさん@お腹いっぱい。
2008/10/30(木) 21:16:31まずはPoundからの接続検証だけ出来ればいいから違うバックエンドに繋がろうといいんだ
vhostで複数のwebを構築してるサーバのサイトに接続したいんだ
Redirectでは当然できるが
BackEndのAddressからだとデフォルトのドキュメントルートに繋がってしまう
違いって振り分けが有る無しだけじゃないのか?
poundの動きが理解できない・・・
0060名無しさん@お腹いっぱい。
2008/10/30(木) 22:53:080061名無しさん@お腹いっぱい。
2008/10/30(木) 23:44:09「Redirectでは当然できるが」のRedirectって具体的には何のどういうリダイレクト?
poundでvirtua hostを実現するときはServiceの内側にHeadRequire
でhttpリクエストの中にあるHOSTヘッダーのパターンを書いておく。
そのパターンにマッチすれば、同じServiceのバックエンドからどれかを選んで接続(中継)する。
「BackEndのAddressから」というのもよく分からないので、もちっと具体的に書いてよ。
0062名無しさん@お腹いっぱい。
2008/10/31(金) 11:12:40情報あり、確認してみる
>>61
poundでvirtua hostを実現したいのではなくて
poundでapacheのvirtua hostに接続したいのです。
「BackEndのAddressから」っていうのは下記参照
Service
BackEnd
Address www.xxx.xxx
・・・(Portとか略)
BackEnd
Address 192.xx.xx.xx
・・・(Portとか略)
End
End
RedirectはBackEnd項目と同レベルで記述できるpoundの内部の設定の事です
0063名無しさん@お腹いっぱい。
2008/11/01(土) 00:55:25Redirect は pound がbackendに中継するのではなく、(HTTPの)redirectを返すから
それで接続できるときはブラウザがbackendに直接接続できている、ということでしょう。
BackEndの場合
(1)ブラウザがpoundに接続しリクエストを送る
(2)poundがバックエンドに接続しリクエストを送る
(3)バックエンドからpoundにレスポンスが返る
(4)poundからブラウザにレスポンスが返る
Redirectの場合
(1)ブラウザがpoundに接続しリクエストを送る
(2)poundがレスポンス(XXXへRedirectしろよ)を返す
(3)ブラウザはXXXへ接続しリクエストを送る
(4)XXXからブラウザにレスポンスが返る
という動作になっているはずです。poundのログを見てみてはどうでしょう。
0064名無しさん@お腹いっぱい。
2008/11/04(火) 16:50:19HeadRequire にちゃんと記述したらvirtua hostに接続されました
結局は俺の勘違いでドツボにハマッテ混乱してただけなんだな・・・
>>61
申し訳ない!!
書いてた通りだ、勘違いしてました。すんませんでした!
>>63
さんくす、読解力の低い俺でも気づくことが出来たよprz
mod_rewriteを使用しているサイトにはまだ400番を返されてしまうので
どーにかならないか調べてみる
俺程度がなにか理解できれば、また書き込んでみるよ
0065名無しさん@お腹いっぱい。
2009/03/25(水) 03:15:14iptablesも切ってるんですが、接続自体出来てないようです。
telnetで接続すると
接続中: 192.168.11.100...ホストへ接続できませんでした。 ポート番号 80: 接続に失
敗しました
とでます。
0066名無しさん@お腹いっぱい。
2009/03/25(水) 14:27:30ps ax
で見たときに pound はありますか?
0067名無しさん@お腹いっぱい。
2009/06/24(水) 14:37:06起動しようとしたんだけど、failになって起動せず。
設定は/etc/default/poundのフラグを1にしただけです。
特にエラーメッセージがでないので調べようがなくて
困ってます
0068名無しさん@お腹いっぱい。
2009/06/24(水) 14:37:48起動しようとしたんだけど、failになって起動せず。
設定は/etc/default/poundのフラグを1にしただけです。
特にエラーメッセージがでないので調べようがなくて
困ってます
0069にゃあ
2009/07/11(土) 02:31:46 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (´´
∧∧ (´⌒(´
↑⊂(゚ー゚*)≡≡≡(´⌒;;;≡≡≡
⊆⊂´ ̄ ⊂ソ (´⌒(´⌒;;
 ̄ ̄ ̄ ズザーーーーーッ
0070名無しさん@お腹いっぱい。
2009/07/21(火) 12:47:33syslog 見た?
pound.cfg の設定をしないとだめだと思うよ
0071名無しさん@お腹いっぱい。
2009/07/25(土) 15:23:410072名無しさん@お腹いっぱい。
2009/09/20(日) 12:27:330073名無しさん@お腹いっぱい。
2009/09/27(日) 17:47:300074名無しさん@お腹いっぱい。
2009/10/21(水) 21:24:560075名無しさん@お腹いっぱい。
2009/10/21(水) 21:59:43全レイヤー対応のロードバランサー総合スレが欲しいな。
0076名無しさん@お腹いっぱい。
2010/03/20(土) 08:01:440077名無しさん@お腹いっぱい。
2010/03/20(土) 08:11:57たてて
0078名無しさん@お腹いっぱい。
2010/07/16(金) 16:47:17バックエンドを切り替える事はできるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています