質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

解決済

squidを用いたプロキシサーバーの構築について

a-zu
a-zu

総合スコア13

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

1回答

0グッド

1クリップ

5919閲覧

投稿2017/07/11 06:49

失礼致します。

現在、EC2のインスタンスを使ってプロキシサーバーを構築しているのですが、いざサイトにアクセスしてもタイムアウトになってしまいプロキシ経由でサイトに接続する事が出来ません。

以下がsquid.confの中身となります。

##squid.conf

# # Recommended minimum configuration: # # Example rule allowing access from your local networks. # Adapt to list your (internal) IP networks from where browsing # should be allowed acl localnet src 10.0.0.0/8 # RFC1918 possible internal network acl localnet src 172.16.0.0/12 # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https 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 acl allow_hosts src xxx.xxx.xxx.xxx/32 http_access allow allow_hosts # # Recommended minimum Access Permission configuration: # # Deny requests to certain unsafe ports http_access deny !Safe_ports # Deny CONNECT to other than secure SSL ports http_access deny CONNECT !SSL_ports # Only allow cachemgr access from localhost http_access allow localhost manager http_access deny manager # We strongly recommend the following be uncommented to protect innocent # web applications running on the proxy server who think the only # one who can access services on "localhost" is a local user #http_access deny to_localhost # # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # # Example rule allowing access from your local networks. # Adapt localnet in the ACL section to list your (internal) IP networks # from where browsing should be allowed http_access allow localnet http_access allow localhost forwarded_for off # Squid normally listens to port 3128 http_port 3128 # Uncomment and adjust the following to add a disk cache directory. #cache_dir ufs /var/spool/squid 100 16 256 # Leave coredumps in the first cache dir coredump_dir /var/spool/squid # # Add any of your own refresh_pattern entries above these. # refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320 visible_hostname unkown forwarded_for off request_header_access X-FORWARDED-FOR deny all request_header_access Via deny all request_header_access Cache-Control deny all

どうかご助力のほどよろしくお願いいたします。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

5

ベストアンサー

SquidをインストールしているEC2のセキュリティグループのインバウンドルールに、以下があることを確認してください。

プロキシ接続元となるグローバルIPアドレス、ポート番号のルールはありますか?
アウトバウンドは0.0.0.0/0等で全て通すルールはありますか?

AWSではセキュリティグループでアクセスを制限するので、Squid側で制限しなくても良いとは思いますので、
一旦0.0.0.0/0にするなど切り分けするのもいいかもしれません。

投稿2017/07/11 06:55

moonphase

総合スコア6619

TaichiYanagiya, TMAMS, ponnjinnla, satena, a-zu👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

a-zu

2017/07/11 08:05

ご回答ありがとうございますI。 Pアドレス、ポート番号のルール等は設定しており、squid側の許可IPを0.0.0.0/0に設定してあるのですが、やはりタイムアウトになってしまいます。
moonphase

2017/07/11 08:06

squid側にログはでていますか?もしあれば質問に追記お願いします。
a-zu

2017/07/12 00:30

/var/log/squid/access.logの中身を見たところ何も表示されませんでした。 やはりセキュリティグループの設定がどこかおかしいのでしょうか。
moonphase

2017/07/12 01:54

切り分けとして、以下実施できますでしょうか。 ■SquidをインストールしているサーバからPROXY経由でアクセス $ telnet 127.0.0.1 3128 Trying 127.0.0.1.. Connected to 127.0.0.1. Escape character is '^]'. GET http://example.com/ HTTP/1.1 ※URLは実際にアクセスしたいURLを記載してみてください ■質問者様のPCのからPROXY経由でアクセス $ telnet xxx.xxx.xxx.xxx 3128 Trying xxx.xxx.xxx.xxx.. Connected to xxx.xxx.xxx.xxx. Escape character is '^]'. GET http://example.com/ HTTP/1.1 ※URLは実際にアクセスしたいURLを記載してみてください
a-zu

2017/07/12 02:17

失礼致します。 質問の意図を解釈出来ず、間違えた受け答えになってしまいましたら申し訳ありません。 curlコマンドを用いてproxy経由でアクセスしたところ、 ■SquidをインストールしているサーバからPROXY経由でアクセス -失敗しました -Received HTTP code 403 from proxy after CONNECTというエラーコードが出てしまいました ■質問者様のPCのからPROXY経由でアクセス -成功致しました。 また、EC2(今回proxyサーバーを構築しようしているサーバー)からさくらVPSで構築したProxyサーバーを経由にアクセスを試みましたが上記と同じエラーコードが出てしまいアクセスできませんでした。 そもそもEC2から別サイトにアクセスが出来ない状態が原因なのでしょうか。
moonphase

2017/07/12 02:23

Squidをインストールしているサーバから失敗するのは、 acl localnet src 127.0.0.1/32 が無いからかもしれません。 お手数ですが、この設定を追加してSquidを再起動後再度実施いただけますか。 EC2から別サイトにいけるかどうかは単純に curl http://example.com 等実行して確認してみてください。
a-zu

2017/07/12 04:11

アクセスに成功致しました。 しかしながら、依然としてブラウザ経由アクセスできない状態です。
moonphase

2017/07/12 04:15

ブラウザのプロキシ設定は XXX.XXX.XXX.XXX 3128になっていますか?
a-zu

2017/07/12 05:24

なっております。 確認のため教えていただきたいのですが、squid側が許可する際に登録するIPはIPv4で間違いないでしょうか?
moonphase

2017/07/12 05:29

それは環境によりますので私にはわかりません。IPv4を使うならIPv4で、IPv6を使うならIPv6になります。 よくわからないなら両方登録して確認してみましょう。
a-zu

2017/07/12 07:54

http_access deny all の位置を下の方に配置したら何故かできました。 順番によって処理の内容が変わるのでしょうか ともかく大変お世話になりました。 ご助力感謝いたします。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。