web-dev-qa-db-ja.com

Squid:別のプロキシに転送します(親プロキシの認証詳細を使用)

要するに、私は以下を行う簡単な方法を探しています(可能であればコードサンプルを提供してください):

  • 電話機からすべてのWebリクエストをキャプチャできるプロキシサーバーをセットアップして起動します(アドレスは10.10.200.200:6767と言います)
  • 電話からのリクエストがこのプロキシに届くと、カスタム認証の詳細(my_username/my_password)が追加され、機関のプロキシに転送されます(アドレスは10.1.2.3:80です)
  • ローカルプロキシ(10.10.200.200)でキャッシュ/アクセラレーションは必要ありません。リクエストをキャッチして転送するだけです。

今、私の状況を完全に説明するための詳細:

私の研究所では、インターネットに接続できるようにプロキシを通過するには認証が必要です。通常、LDAPユーザー名/パスワードを入力して、ポップアップが表示されたときに認証します。

ここで、電話機を研究所のWiFiに接続したいのですが、電話機にはプロキシによる認証のオプションがありません。プロキシアドレスのみを指定できます。そこで、コンピューターからローカルプロキシをセットアップして、携帯電話からのすべてのリクエストをキャッチし、認証の詳細を追加して、コンピューター経由で研究所のプロキシに渡すことを計画しています。

buntuにsquid3をインストールしましたが、構成ファイルを見ると失われます。グーグルで試しましたが、あまりにも複雑に見えます。

誰かが助けてくれることを願っています。

28
Neo

私はこれを行うための最も簡単な構成は次のとおりであるとsquidのチュートリアルから考えました:

http_access allow all
http_port 3128

coredump_dir /var/spool/squid3
refresh_pattern ^ftp:       1440    20% 10080
refresh_pattern ^Gopher:    1440    0%  1440
refresh_pattern -i (/cgi-bin/|\?) 0 0%  0
refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
refresh_pattern .       0   20% 4320

cache_peer 10.1.2.3 parent 80 0 no-query default login=my_username:my_password
never_direct allow all

これらの行により、すべての要求を別のプロキシサーバーに転送するローカルマシン上の動作中のプロキシサーバーが取得されます(それに応じてIPアドレスを変更します)。 ただし、注意してください上記のスクリプトでは、アクセス制御/フィルターを無効にしているため、誰でもプロキシに接続して使用できます。一部のデバイスのみにエントリを制限するには、追加のコードを追加する必要があります。

33
Neo