- PR -

squidでのリバースプロキシ設定について

投稿者投稿内容
非武装エリア
大ベテラン
会議室デビュー日: 2004/03/03
投稿数: 202
お住まい・勤務地: 日本・たこ部屋
投稿日時: 2005-02-03 06:17
LAN側(内部LAN)のクライアントから、
 http://192.168.1.8/
とした場合、どうなりますか?
こん
会議室デビュー日: 2005/02/01
投稿数: 8
投稿日時: 2005-02-03 13:44
非武装エリアさん、有難うございます。

内部LANのクライアントから"http://192.168.1.8"とした場合、Squidからエラーメッセージが返されました。

「The requested URL could not be retrieved while trying to retrieve the URL : http://hostname/ ...(略)... Access Denied. ...(略)...」

現在、squid.conf内の
"httpd_accel_host hostname"としていますので、クライアントからの要求をちゃんとWebサーバに渡しているように見えます。LAN外から接続しようとして、Apacheのテストページが表示されるというのは、ルータの設定がよくない、ということでしょうか?

また、SquidがWebサーバのURLを解決できないとメッセージを出していますので、GWサーバ自体のブラウザから、"http://hostname"とURLを指定してみたのですが、これも表示できません。(タイムアウトしてしまいます)
これはなぜなのでしょう?Pingは通っているのですが…。

度々、初歩的なことですみません。
どなたかお助けを。



非武装エリア
大ベテラン
会議室デビュー日: 2004/03/03
投稿数: 202
お住まい・勤務地: 日本・たこ部屋
投稿日時: 2005-02-03 14:25
httpd_accel_host IPアドレス
ではなく、
httpd_accel_host hostname

としているということでよろしいですか?

次のことを確認してください。

1.squidのマシンから 
ping hostname
ping IPアドレス

  でIISサーバをPINGしてみてください。


2.1.で両方ともping がOKかつ、同じアドレスならsquid.confに

 dns_testname xxxxxx

を追加設定してください。 xxxxxには、1.で指定した形式(IPアドレス or ホスト名)

3.ログファイル(cache.log、access.log)をよく確認してみてください。

こん
会議室デビュー日: 2005/02/01
投稿数: 8
投稿日時: 2005-02-03 18:33
非武装エリアさん、有難うございます。

いろいろ試してみた結果、以下の状態になってます。
squid.conf内の"httpd_accel_host"は、IPアドレスを指定することにしました。

WebサーバのIPアドレス:192.168.1.1
GWサーバ(Squid)のIPアドレス:192.168.1.3

とした時、LAN内の別の端末(192.168.1.2)のブラウザから、
"http://192.168.1.3/xxxxxx"とURLを指定すると、前述したような

「The requested URL could not be retrieved while trying to retrieve the URL : http://192.168.1.1/xxxxxx ...(略)... Access Denied. ...(略)...」

というメッセージが表示されます。

GWサーバのブラウザから
"http://192.168.1.1/xxxxxx"と指定すると正しく表示されます。

上記メッセージを出力したときのAccess.logを見ると、以下のようになっています。

192.168.1.3 - - [03/Feb/2005:17:57:47 +0900] "GET http://192.168.1.1/xxxxxx HTTP/1.0" 403 1339 TCP_DENIED:NONE
192.168.1.2 - - [03/Feb/2005:17:57:47 +0900] "GET http://192.168.1.3/xxxxxx HTTP/1.0" 403 1372 TCP_MISS:DIRECT

なぜ、"TCP_DENIED"されてしまうのかがわかりません…。

度々すみませんが、アドバイスを頂けますと助かります。
よろしくお願いします。
非武装エリア
大ベテラン
会議室デビュー日: 2004/03/03
投稿数: 202
お住まい・勤務地: 日本・たこ部屋
投稿日時: 2005-02-03 19:05
squid.conf中の acl とその下にある http_access allow はどう設定してますか?
特に 「http_access allow」の前に「http_access deny」等の記述がありませんか?
こん
会議室デビュー日: 2005/02/01
投稿数: 8
投稿日時: 2005-02-03 19:24
お世話になってます。

非武装エリアさん、有難うございます。

aclの設定ですが、以下の通りです。

----ここから--------------------------

#Access Control List
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

#HTTP Access
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow localhost
# http_access deny all
http_access allow all

http_reply_access allow all
icp_access allow all

----ここまで---------------------------

最終的にこれでいいのかは別として、"http_access allow all"を一番最初に持ってきたりもしたのですが、結果は変わりませんでした…。


こん
会議室デビュー日: 2005/02/01
投稿数: 8
投稿日時: 2005-02-04 10:44
お世話になってます。

原因はよくわかりませんが、LAN内からのSquid経由でのアクセスは相変わらずうまくいかないのですが、ルータ経由でアクセスするとうまくいきました。
これで本来の目的は達成されるわけなので、疑問は残りますがとりあえずOKとしたく思います。

いろいろと有難うございました。

スキルアップ/キャリアアップ(JOB@IT)