- - PR -
squidによるReverseProxyの設定
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-08-02 15:54
お世話になります。
現在Webサーバの負荷分散と冗長化の為に SquidでReverseProxyを構築しております。 構成 fedoracore5 squid-2.5.STABLE12-5.1 httpd_accelの設定で1ドメインに対してのReverseProxyの役割は出来たのですが、 現在私のところのWebサーバは1台のサーバで複数のコンテンツが入っています。 1つのProxyで複数のコンテンツ(異なるIP、ドメイン)を補う方法はあるのでしょうか? また、それぞれのコンテンツへのアクセスログ(squidのaccess.log)等も分けることは可能でしょうか? ご存知の方おりましたら、アドバイス等いただけませんでしょうか。 お願い致します。 Webサーバ (xxx.xxx.xxx.ooo/24 : apache.test.com) ・xxx.xxx.xxx.xxx : ww.test1.com ・xxx.xxx.xxx.yyy : ww.test2.com ・xxx.xxx.xxx.zzz : ww.test3.com Proxyサーバ (xxx.xxx.xxx.aaa/24 : squid.test.com) | ||||
|
投稿日時: 2006-08-03 09:03
squid.confに
http_port 80 cache_dir ufs /usr/local/squid/var/cache 100 16 256 cache_effective_user squid visible_hostname http://squidw.test.com httpd_accel_host virtual httpd_accel_port 80 httpd_accel_single_host off httpd_accel_with_proxy on httpd_accel_uses_host_header on と設定しておいて、squidが動いているマシン上の/etc/hostsファイルで xxx.xxx.xxx.ooo apache.test.com xxx.xxx.xxx.xxx ww.test1.com xxx.xxx.xxx.yyy ww.test2.com xxx.xxx.xxx.zzz ww.test3.com と設定しても駄目ですか? [ メッセージ編集済み 編集者: 非武装エリア 編集日時 2006-08-03 09:04 ] | ||||
|
投稿日時: 2006-08-07 17:27
>非武装エリア 様
ありがとうございます。 非武装エリア様の設定を入れたところ、うまく動作しました。 ただ、2点ほどうまくいかなかったのがあります。 1点目 >http_port 80 とすると、ユーザsquidはhttp_portを開けることが出来ないとのエラーがでてしまいます。 squidユーザでhttp_portを空けてあげるいい方法はありますでしょうか? 現在は http_port 8080 と仮設定をして検証を行っております。 2点目 >visible_hostname http://squidw.test.com visible_hostnameには Squidの動作しているマシン名を定義しておく。との解説がどこかのHPにあったため、 現在私のsquid.confでは 「visible_hostname squid.test.com」 と定義しております。 これで運用していて問題ないのでしょうか? それとも非武装エリア様のように visible_hostname http://squidw.test.com とアドレスを指定すべきなのでしょうか? | ||||
|
投稿日時: 2006-08-07 18:28
「visible_hostname squid.test.com」 で正解です。
(私の記述ミスです。ごめんなさい。。。汗!) >http_port 80 どうやってsquidを起動してますか? 一般ユーザでコマンドプロンプトから直接squidを起動した場合にはこのようなエラーになると思います(ポート番号1024以下はシステム権限のあるユーザでないと利用できませんね) rcプロセスから起動するか、スーパーユーザ(root)で起動すれば80番でもエラーにならないと思います。 rcプロセスから起動させるなら、http://squid.robata.org/faq_3.html#l-02 の3.6を参照してみてください。 | ||||
|
投稿日時: 2006-08-07 22:21
こんばんわ.
それは「squid の user 権限だから」と表示されますか? つい先日も同様のやり取りがあって, httpd が起動してたりして squid と干渉してた話があったばかりですが, その辺は大丈夫ですか? | ||||
|
投稿日時: 2006-08-08 10:58
非武装エリア 様 kaz 様
ありがとうございます。 squidの起動スクリプトはrootで起動しております。 起動スクリプトに関しては、FC5のパッケージに入っているものから特に変更等してません。 起動スクリプトを編集してrootで起動するようにすれば動くか検証してみます。 ただ、rootユーザでsquidデーモンを動かすとセキュリティ状好ましくないのかなと考えております。 kaz様のご指摘のhttpdデーモンと干渉しているのでは?の件につきましては、 httpdデーモンの起動はしておりません。 squid起動時のログを下記に記述しておきます。 --------squid起動時のエラーログ(/var/log/message)---------------------------- Aug 8 10:37:17 squid squid[17279]: Squid Parent: child process 17308 started Aug 8 10:37:17 squid kernel: audit(1155001037.430:205): avc: denied { name_bind } for pid=17308 comm="squid" src=80 scontext=root:sys tem_r:squid_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket Aug 8 10:37:17 squid (squid): Cannot open HTTP Port Aug 8 10:37:17 squid squid[17279]: Squid Parent: child process 17308 exited due to signal 6 Aug 8 10:37:17 squid squid[17279]: Exiting due to repeated, frequent failures | ||||
|
投稿日時: 2006-08-08 21:50
こんばんわ.
先日もありましたが, もしかして SELinux と干渉してませんか? |
1