CyberSyndrome - プロクシ検索サイト    プロキシサーバ入門

ライブチャット BBチャット

ここでは一般のインターネット利用者を対象としてプロキシサーバ(proxy server)について解説しています。プロキシの理解に必要な知識を効率的に得られるような構成にしてありますので、これを読めばプロキシ初心者でもプロキシを自在に利用できるようになるでしょう。


ライブチャットBBchatTV
1万人以上の登録女性が自宅から生映像を24時間無料にて公開中!無料体験有りの大手コンテンツ!
高収入アルバイト
日給3万円の超高収入アルバイトの求人。全国から大募集中。特に学生・フリーターの方は必見
All About [インターネットセキュリティ]
1.プロキシサーバとは
  1.1 プロキシサーバの原理
  1.2 プロキシサーバの機能
    1.2.1 キャッシング
    1.2.2 フィルタリング
    1.2.3 通信経路変更
    1.2.4 匿名性確保

2.プロキシサーバの利用方法
  2.1 プロキシサーバの入手と選択
  2.2 ブラウザの設定
    2.2.1 Windowsのブラウザ設定
    2.2.2 Macintoshのブラウザ設定
    2.2.3 Linuxのブラウザ設定

3.プロキシサーバの種類
  3.1 Squid
  3.2 Apache
  3.3 DeleGate
  3.4 Socks
  3.5 CGIプロキシ
  3.6 Coral

4.プロキシサーバに関するFAQ
  4.1 プロキシの利用と法律
  4.2 プロキシと判らせないプロキシ
  4.3 匿名プロキシと非匿名プロキシ
  4.4 プロキシの利用料?


1 プロキシサーバとは

プロキシサーバとは、プロキシ(代理)という言葉が示す通り、インターネット上の目的のコンテンツ(ファイルやWebページ等)をユーザのコンピュータの代わりに取って来てくれる機能を提供するサーバです。これは「プロキシ」、「プロクシ」あるいは「串」などとも呼ばれています。プロキシには様々なプロトコル(HTTP、FTP、Telnet、SMTPあるいはPOP等)に対応したものが存在しますが、単に「プロキシ」という場合HTTPプロキシ(WWWで利用可能なプロキシ)を指すのが一般的です。


1.1 プロキシサーバの原理

まず、ユーザがプロキシサーバを利用しないで目的のWebページを閲覧することを考えてみます。この場合、ユーザのコンピュータが目的のWebページの置いてあるWWWサーバに直接アクセスして、Webページを取って来ます。
ユーザのコンピュータ(要求元) ←→ WWWサーバ(要求先)
一方、ユーザがプロキシサーバを利用して目的のWebページを閲覧する場合、ユーザの代わりにプロキシサーバがWWWサーバにアクセスして目的のWebページを取って来てくれます。
ユーザのコンピュータ(要求元) ←→ プロキシサーバ ←→ WWWサーバ(要求先)
この場合、コンテンツの要求元(ユーザ)と要求先(WWWサーバ)の間にプロキシサーバを挟むことによって通信経路が多少複雑で遠回りになります。そのため、プロキシサーバを利用することは一見コンテンツの取得に関わる通信を非効率的にしてしまうだけのように思われるかもしれません。しかし、実はこれには様々なメリットが秘められているのです。


1.2 プロキシサーバの機能

プロキシを利用すると主に以下のような効果が期待できます。

これらについて詳しく見てみましょう。


1.2.1 キャッシング

プロキシはキャッシュ(cache)機能を実装しており、過去にサーバから受信したコンテンツを一時的にプロキシ自身のディスク内に蓄積しておくことができます。
そのため、プロキシがユーザからコンテンツのリクエストを受けたとき、そのコンテンツがすでにキャッシュされている場合、わざわざ遠くにある本来のサーバに同じコンテンツを取りに行くことなく自分自身にキャッシュされているデータをユーザに送り返すので、ユーザはコンテンツを素早く取得することが可能となります。
また、その場合プロキシは本来のサーバにアクセスしなくて済むため、そのサーバに掛かる負荷を軽減することができます。
このようにプロキシをキャッシュサーバとして利用することによって、遠くのサーバに何度もアクセスしなくて済むため、結果的にネットワークのトラフィック(回線使用量)を軽減できるのです。

このキャッシュ機能は一般的なWebブラウザにも実装されていますが、Webブラウザのキャッシュとプロキシのそれとでは規模が大きく異なります。前者は単独のユーザが取得したコンテンツをキャッシュするのに対して、後者はプロキシの全利用者が取得したコンテンツをキャッシュします。したがって、プロキシの利用者は自分が過去に一度も見たことのないコンテンツであっても素早く取得することが可能となるのです。

ただし、プロキシを介することで通信経路が遠回りになることを考えても分かるように、プロキシの利用によって必ずしもコンテンツの取得が早くなるわけではありません。実際にコンテンツの取得に掛かる時間が短縮されるためには、キャッシュが有効利用される環境や大容量の通信回線が条件となります。特に、利用者数に対して接続されているバックボーンが細いプロキシを利用すると、通信速度は逆に遅くなってしまいます。

ところで、プロキシのキャッシュのデータは一体いつまで保存されるのでしょうか。もしオリジナルのWebページが更新された後であってもキャッシュからそのコピーを取得することが可能であれば、プロキシの透過性が失われてしまいます。この問題を解決するため、キャッシュにコンテンツを保持しておく有効期限を設定しておき、その期限を過ぎたキャッシュのコンテンツは自動的に削除される仕組みになっています。
このキャッシュの有効期限はプロキシ側でも指定できますが、Webページの製作者側でも指定することができます。HTTP1.1ではHTTPレスポンスヘッダのExpiresフィールド等によりWebページの有効期限を指定することが推奨されており、そのページのコピーはここで指定されている有効期限までプロキシのキャッシュに保存されます。ただし、プロキシの透過性を保つために、コンテンツの有効期限の指定は慎重にされるべきだといえます。適切な有効期限が指定されていれば、プロキシはその透過性を保つことが可能となります。
一方、もしHTTPヘッダでページの有効期限が指定されていない場合、プロキシがコンテンツをキャッシュしておく期間はその実装に依存します。したがって、この場合プロキシの透過性は必ずしも保証されません。


1.2.2 フィルタリング

プロキシはWebブラウザ等のクライアントとWWWサーバ等の外部のサーバの間に位置しているため、これらの間を通過する全てのデータをフィルタリングすることができます。つまり、プロキシはクライアントからサーバに送信されるデータ、あるいはサーバからクライアントに送信されるデータをモニタリングして、それらのデータを自由に改変したり、通信自体を妨害することができます。
このフィルタリングは主に内部ネットワーク(LAN)の効率的運用を目的として行われます。

具体的にはフィルタリングによって以下のような効果が得られます。
これらの中で外部からプロキシを利用する一般のユーザが恩恵を受け得るフィルタリング機能は、受信したコンテンツのデータ加工についてでしょう。しかし、現在ではこの機能を持つプロキシは限られた用途にのみ利用され、一般のユーザが意識する機会はほとんどありません。


1.2.3 通信経路変更

目的のサーバにプロキシを介してアクセスする場合には、直接アクセスする場合と異なる経路で通信することになります。
例えば、日本国内のユーザが日本国内のサーバにアクセスする場合、通常は国外の通信網を経由することはありませんが、もしアメリカのプロキシを介してアクセスする場合はアメリカの通信網を経由することになり、通信経路が遠回りになります。このため、多くの場合プロキシを介したアクセスは通信速度が遅くなります。
しかし、もしユーザと目的のサーバとの間の通信回線が細い(あるいは混雑している)場合はどうでしょうか。このような場合は大容量のバックボーンに接続されたプロキシを介して混雑している回線を迂回すれば通信速度を上げることが可能となります。学内LANやインターネット環境の整っていない国の回線を経由する場合などにこの方法がよく用いられます。

また、自宅のPCでWWWサーバを立ち上げた場合、普通は公開前に実際に外部からアクセス可能かどうかを確認しますが、そのためには基本的にそのサーバに自分のPC以外からアクセスしてみる必要があります。しかし、自分のPCからプロキシを介して自宅サーバに間接的にアクセスすることにより、他のPCを使わずに簡単にサーバの動作確認を行うことができます。


1.2.4 匿名性確保

前述した通り、プロキシを利用しないでWebページを閲覧する場合、ユーザのコンピュータがWWWサーバに直接アクセスします。
ユーザのコンピュータ(要求元) ←→ WWWサーバ(要求先)
そのため、ユーザの様々な個人情報が要求先のWWWサーバとWebページ管理者に伝わってしまいます。実際にどのような情報が漏れているか確認するために、ブラウザにプロキシを設定していない状態でENV Checkerを見てください。インターネット上での個人情報とも言うべきあなた固有の様々な情報が筒抜けになっているはずです。例えば、ユーザのIPアドレス、ホスト名そしてブラウザやOSの種類等があります。
ちなみに、IPアドレスとはインターネット上でユーザのコンピュータを識別するための番号のことです。インターネットに接続されているコンピュータには全てユニークなIPアドレスが割り当てられています。一般家庭におけるインターネット接続の場合、通常は接続するたびにISPから固有のIPアドレスがユーザのコンピュータに自動的に割り振られます。
また、IPアドレスを人間に理解しやすい文字列に変換したものがホスト名です。ホスト名は多くの場合ユーザの利用しているISP(または学校や会社)やそのアクセスポイント(地域)を示す文字列を含みます。

では、このようなユーザ固有の環境変数が接続先のサイトに伝わることによってユーザはどのような影響を受けることになるのでしょうか。
一つにはプライバシーの問題が挙げられます。サイト管理者がアクセスログを取っている場合、どの辺りの地域に住み、どの組織(またはISP)に属している人が、いつ、どのページを、どのページのリンクから、どのくらいの頻度で、どのブラウザとOSを使って閲覧したのか、という情報が知られてしまうことになります。特に、掲示板やチャットに書き込みをした場合、投稿者の環境変数のうち幾つか(ホスト名等)がサイト管理者のみならず閲覧者全員に見えるように表示されることがあります。
このように、普通にインターネットに接続していると、自分の環境や興味の対象あるいは思想等を無闇に他人に知られたり、行動を監視されたりする恐れがあるのです。これではプライバシーも何もなく、安心してインターネットに接続できないという人も居ることでしょう。

また、自分のIPアドレスを無闇に知られるとそれだけインターネットを介した様々な攻撃を受ける危険に晒されることになります。例えば、サービス拒否(DoS)攻撃を受けたり、場合によっては自分のコンピュータを遠隔操作されたりする危険性も孕んでいます。特に常時接続や専用線接続をしているユーザにとっては無視できない問題です。もちろんこのような攻撃を受ける可能性は小さいのですが、全くないとは断定できません。
基本的にこのような攻撃をするためには対象のIPアドレスを知っている必要があります。逆にいえば、自分のIPアドレスを知られなければインターネットを介した攻撃を受ける危険性を抑えることができます。そのため、自分のIPアドレスを他人に無闇に知らせることは避けるべきだといえます。

さて、以上のような問題を解決するための手段としてプロキシの利用があります。前述した通り、プロキシを介してWebページを閲覧する場合、プロキシがユーザの代わりにWWWサーバにアクセスして目的のWebページを取って来てくれます。つまり、ユーザがWWWサーバに直接アクセスすることなく目的のコンテンツを閲覧することができます。
ユーザのコンピュータ(要求元) ←→ プロキシサーバ ←→ WWWサーバ(要求先)
そのため、この場合WWWサーバにはユーザのIPアドレスやホスト名の情報は伝わらず、代わりにプロキシの情報が伝わることになります。したがって、プロキシを利用することによって、Webサイト管理者や掲示板閲覧者等には自分が誰なのかという情報(IPアドレスおよびホスト名)を知られなくて済み、上記の問題を解決することが可能となるのです。

ただし、ユーザ(要求元)のIPアドレスを含む環境変数をサーバ(要求先)に伝えるプロキシも多く存在します。わざわざこのような要求元の細かい環境変数を記録しているサイトは稀ですが、完全に匿名性を確保するためにはユーザのIPアドレスをどこにも漏らさない匿名プロキシを利用する必要があります。詳細についてはこちらをご覧ください。
また、ほとんどの場合プロキシを介していてもブラウザの種類やリンク元の情報は接続先のサーバに伝わります。つまり、プロキシを利用することによって隠蔽できるユーザの情報は基本的にユーザが「誰」なのかだけです。
実際にプロキシを利用したときに要求先のサーバに伝わる環境変数を確認するためには、ブラウザにプロキシを設定した状態でENV Checkerを見てください。あなたのIPアドレスやホスト名等の情報がプロキシ固有の値に置き換わっているはずです。もしここであなたの本当のIPアドレスがどこにも表示されていなければ、匿名性が確保されたことになります。

ところで、プロキシによる匿名性確保には、接続元情報(IPアドレスまたはホスト名)によるアクセス制限を回避できるという副次的な効果があります。つまり、特定のサイトからアクセスを拒否された場合、そのアクセス制限の条件に合致しないプロキシを利用すれば、その制限を回避してサイトを閲覧することが可能となります。例えば日本からのアクセスを拒否する外国のサイトを閲覧する場合などにこの方法がよく用いられます。


2 プロキシサーバの利用方法

ここからは説明の対象をHTTPプロキシ(WWWにおいて利用可能なプロキシサーバ)に限定し、その具体的な利用方法について解説します。


2.1 プロキシサーバの入手と選択

一般的に、外部から自由に利用可能なプロキシを見つけることは容易ではありません。特に、当サイトを知らないインターネット利用者にとっては、そのようなプロキシを見つけることは困難な作業となっているようです。
というのは、多くの場合プロキシの寿命は短く、Web上でプロキシのリストを見つけて実際に使おうとしてもすでに外部から利用できなくなっている場合がほとんどだからです。しかも、仮に外部から利用可能なプロキシが見つかったとしても、アクセス速度や匿名性において問題があることが多く、本当に使えるプロキシの入手は困難とされています。

ところが、当サイトでは独自のプロキシ判別システムの導入により、外部から自由に利用可能な最新のプロキシリストを常時公開することが可能となっています。さらに、プロキシの匿名性やアクセス速度などによってリストを区別しているため、ユーザの利用目的にマッチしたプロキシを自由にかつ簡単に選択することができます。もちろん全て無料で利用可能です。

それでは実際に当サイトのプロキシリストの中からどれか一つプロキシを選択してみてください。


2.2 ブラウザの設定

実際にプロキシを利用してWebページを閲覧するためには、それをブラウザに設定する必要があります。以下では幾つかの主要なブラウザの設定方法を説明します。

プロキシを設定する際、そのアドレスとポートを指定します。
     proxy.example.com:8080
上記のプロキシの例では、「:」の前の「proxy.example.com」がプロキシのアドレスを示しています。プロキシのアドレスはホスト名とIPアドレスのどちらでも構いません。
また、「:」の後の「8080」がプロキシのポートを示しています。ポート番号には80、8080あるいは3128等が比較的多く使用されています。


プロキシをブラウザに設定したら、正しく設定されているかどうかをENV Checkerで確認してみましょう。ページが正常に表示され、REMOTE_ADDRの値に他人のIPアドレスが表示されていれば成功です(プロキシを設定する前の値と見比べてみましょう)。ページが正常に表示されない場合はそのプロキシは利用できないということなので、別のプロキシを設定し直してください。また、ページが正常に表示されたとしてもREMOTE_ADDRの値が設定前と何も変わらない場合はブラウザの設定が間違っているということなので、ブラウザのプロキシを設定する箇所を再度確認してみてください。


2.2.1 Windowsのブラウザ設定

■Internet Explorer 2.x の設定
  1. コントロールパネル
  2. 「インターネット」アイコン
  3. 「詳細設定」タブ
  4. 「代理サーバーを使う」をチェック
  5. 代理サーバーの欄にプロキシのアドレスとポート番号を入力
  6. 「OK」

■Internet Explorer 3.00, 3.01 の設定
  1. 「表示」メニュー
  2. 「オプション」
  3. 「接続」タブ
  4. 「プロキシサーバー経由で接続する」をチェック
  5. 「設定」
  6. HTTPの欄にプロキシのアドレスとポート番号を入力
  7. 「OK」

■Internet Explorer 3.02 の設定
  1. 「表示」メニュー
  2. 「オプション」
  3. 「接続」タブ
  4. 「プロキシサーバーを使用してインターネットにアクセス」をチェック
  5. プロキシのアドレスとポート番号を入力
  6. 「OK」

■Internet Explorer 4.x の設定
  1. 「表示」メニュー
  2. 「インターネットオプション」
  3. 「接続」タブ
  4. 「プロキシサーバーを使用してインターネットにアクセス」をチェック
  5. プロキシのアドレスとポート番号を入力
  6. 「OK」

■Internet Explorer 5.x, 6.x の設定
  1. 「ツール」メニュー
  2. 「インターネットオプション」
  3. 「接続」タブ
  4. 「設定」または「LANの設定」
    どちらでもいいわけではありません。どちらに設定すべきかは環境(ルータを使用しているかどうか等)によって異なるので、一方を試してもプロキシ設定がうまくいかない場合はもう一方を試しましょう
  5. 「プロキシサーバーを使用する」をチェック
  6. プロキシのアドレスとポート番号を入力
  7. 「OK」

■Netscape Navigator 3.x の設定
  1. 「オプション」メニュー
  2. 「ネットワークの設定」
  3. 「プロクシ」タブ
  4. 「手動でプロクシを設定」を選択
  5. 「表示」
  6. HTTPプロクシの欄にプロキシのアドレスとポート番号を入力
  7. 「OK」

■Netscape Communicator 4.x の設定
  1. 「編集」メニュー
  2. 「設定」
  3. カテゴリの中の「詳細」→「プロキシ」
  4. 「手動でプロキシを設定する」を選択
  5. 「表示」
  6. HTTPの欄にプロキシのアドレスとポート番号を入力
  7. 「OK」

■Netscape 6.x, 7.0 の設定
  1. 「編集」メニュー
  2. 「設定」
  3. カテゴリの中の「詳細」→「プロキシ」
  4. 「手動でプロキシを設定する」を選択
  5. HTTPプロキシの欄にプロキシのアドレスとポート番号を入力
  6. 「OK」

■Opera 6.x の設定
  1. 「ファイル」メニュー
  2. 「設定」
  3. カテゴリの中の「ネットワーク」
  4. 「プロキシサーバー」
  5. HTTPをチェックしプロキシのアドレスとポート番号を入力
  6. 「OK」


2.2.2 Macintoshのブラウザ設定

■Internet Explorer 4.x の設定
  1. 「編集」メニュー
  2. 「初期設定」
  3. 「ネットワーク」→「プロキシ」
  4. 「有効」を選択
  5. プロキシのアドレスとポート番号を入力
  6. 「OK」

■Internet Explorer 5.x の設定
  1. 「編集」メニュー
  2. 「初期設定」
  3. 「ネットワーク」→「プロキシ」
  4. 「Webプロキシ」をチェック
  5. 「設定」
  6. プロキシのアドレスとポート番号を入力
  7. 「OK」

■Netscape Navigator 3.x の設定
  1. 「オプション」メニュー
  2. 「ネットワークの設定」
  3. 「プロクシ」タブ
  4. 「手動でプロクシを設定」を選択
  5. 「表示」
  6. HTTPプロクシの欄にプロキシのアドレスとポート番号を入力
  7. 「OK」

■Netscape Communicator 4.x の設定
  1. 「編集」メニュー
  2. 「設定」
  3. カテゴリの中の「詳細」→「プロキシ」
  4. 「手動でプロキシを設定」を選択
  5. 「設定」
  6. HTTPプロキシの欄にプロキシのアドレスとポート番号を入力
  7. 「OK」

■Netscape 6.x の設定
  1. 「編集」メニュー
  2. 「設定」
  3. カテゴリの中の「詳細」→「プロキシ」
  4. 「手動でプロキシを設定する」を選択
  5. HTTPプロキシの欄にプロキシのアドレスとポート番号を入力
  6. 「OK」


2.2.3 Linuxのブラウザ設定

■Netscape Communicator 4.x の設定
  1. 「編集」メニュー
  2. 「設定」
  3. カテゴリの中の「詳細」→「プロキシ」
  4. 「手動でプロキシを設定する」を選択
  5. 「表示」
  6. HTTPプロキシの欄にアドレスとポート番号を入力
  7. 「確認」


3.プロキシサーバの種類

プロキシサーバのソフトウェアには様々な種類が存在します。基本的にプロキシを利用する上でソフトウェアの名称や機能の詳細を理解しておく必要はありませんが、ここでは教養としてその代表的なものを幾つかご紹介します。


3.1 Squid

SquidはHTTPやFTPに対応した現在最も広く利用されているプロキシソフトウェアです。キャッシュ機能に特化しており、他のSquidプロキシサーバと連携することができます。
また、ファイルをダウンロードしている途中で接続を切断しても、そのファイルのダウンロードを前回の続きから再開(リスタート)できる機能(レジューム機能)を実装しています。そのため、レジュームに対応していないサーバからファイルをダウンロードする場合でも、Squidプロキシを利用すればレジュームできることがあります。
なお、Squidで標準的に使用されるポートは3128番です。
ちなみに、当サイトのプロキシ検索エンジンで「squid」と入力して検索すればSquidプロキシを入手できます。

【参考】 Squidの公式サイト


3.2 Apache

Apacheは世界中で最も広く利用されているWebサーバですが、これをプロキシサーバとして動作させることも可能です。初期設定を一部変更するだけで簡単にプロキシサーバとして動作させられるため、プロキシとしても広く利用されています。
なお、Apacheで標準的に使用されるポートは80番です。

【参考】 Apacheの公式サイト


3.3 DeleGate

DeleGateは多目的な用途に利用される純国産のプロキシソフトウェアです。日本語対応のブラウザがなかった当時、日本語コード変換機能付きプロキシサーバとして広く普及しました。プロキシの透過性よりもデータを付加価値付きで中継する機能に重点が置かれて開発されています。

DeleGateには目的のコンテンツのアドレスとそのデータを中継するDeleGateプロキシのアドレスをURLとして同時に指定できる機能が実装されています。つまり、DeleGateプロキシを介してWebページを閲覧する場合、(設定によっては)そのWebページのURLとそのデータを中継するDeleGateプロキシのURLをブラウザのURL欄から同時に指定することができるのです。この場合、以下のように、DeleGateプロキシのURLと目的のWebページのURLを「-_-」という接続符号を用いて連結させた文字列をURL欄に入力します。
http://DeleGateのホスト名またはIPアドレス:ポート番号/-_-目的のURL
したがって、この機能を利用すれば、プロキシに未対応のブラウザを利用してプロキシを介したアクセスを実現することが可能となります。ちなみにこの接続方式はカスケード接続と呼ばれています。

このカスケード接続を応用した利用方法の一つとして多段プロキシがあります。多段プロキシとは目的のサーバからコンテンツを取得する際複数のプロキシを介する接続方法です。この多段プロキシは主に複数のファイヤーウォールで閉じられた環境からインターネットに接続する際に利用されます。また、特にDeleGateのカスケード接続による多段プロキシについては、会社やインターネットカフェ等ですでにプロキシが設定されている環境から別のプロキシを介してインターネットにアクセスする際にも利用されます。
多段プロキシを実現するためには、ブラウザにプロキシを設定した状態で上記のカスケード接続を行うのが簡単です。ただし、もっと多くのプロキシを介して接続する方法もあります。そのためには以下のようにDeleGate独自の接続符号「-_-」を用いて複数のDeleGateプロキシのURLと目的のWebページのURLを連結させた文字列をブラウザのURL欄に入力します。
http://DeleGateのホスト名またはIPアドレス:ポート番号/-_-http://DeleGateのホスト名またはIPアドレス:ポート番号/-_-目的のURL
ちなみに、このような多段プロキシを実現するための機能を実装しているプロキシソフトウェアはDeleGate以外にも存在しますが、多くの多段プロキシの実現にはDeleGateが利用されています。
しかしながら、現在ではカスケード接続が可能なDeleGateプロキシはほとんど見かけなくなっています。当サイトのプロキシ検索エンジンで「delegate」と入力して検索すればDeleGateプロキシを入手できる場合がありますが、カスケード接続ができるとは限りません。
なお、DeleGateで標準的に使用されるポートは8080番です。

【参考】 DeleGateの公式サイト


3.4 Socks

Socks(ソックス)とはプロキシのように内部ネットワーク(LAN)からインターネットへ接続できるようにするための方式です。これは普通のプロキシと異なり、一つのSocksサーバだけでHTTP、FTP、Telnet等のTCP/IPを利用するほとんどのプロトコルで同時に利用できます。
ただしプロキシのようなキャッシュ機能が実装されていないため、キャッシュによるコンテンツ取得の高速化は実現できません。
なお、Socksで標準的に使用されるポートは1080番です。

【参考】 Socksの公式サイト


3.5 CGIプロキシ

リクエストのたびにCGIを起動させて、ユーザの代わりに目的のサーバからコンテンツを取得する機能を持つCGIプログラムの呼称です。厳密にはプロキシサーバではありませんが、プロキシと類似した機能を持つためこのように呼ばれることがあります。
また、実際にはCGIでなくてもCGIプロキシと同様の機能を持つオンラインサービスもCGIプロキシに分類される場合があります。
これは匿名性を追求する場合に利用されることが多く、速度面でのメリットはありません。

【参考】 CGIプロキシまたはその類似機能を持つサービスを公開しているサイト


3.6 Coral

P2P技術によりWebコンテンツを効率的にキャッシングしWebサーバへの負荷を大幅に軽減することを目的としたプロキシです。ニューヨーク大学で開発され、世界中の教育・研究機関等でCoralのサーバが広く運用されています。
動作方式は一見するとCGIプロキシと似ており、ユーザはWebブラウザの設定を変更することなく、閲覧するWebページのホスト名の後に「.nyud.net:8090」を付け加えるだけでこのプロキシを利用できます。
例として当サイトのENV CheckerをCoralを使用して表示してみましょう。
Coralを使用しないURLhttp://www.cybersyndrome.net/evc.html
Coralを使用したURLhttp://www.cybersyndrome.net.nyud.net:8090/evc.html
Coralサーバは世界中で広く運用されており、ユーザからのリクエストを受けた際にP2P技術によって適切なCoralサーバがプロキシサーバとして選択されるため、各Webページにアクセスするたびに接続元のホストが変化します。

このプロキシはユーザのために用意されているのではなく、あくまでもWebサーバ運営者のために用意されています。そのため、匿名プロキシではありませんし、Webサーバに対して様々な独特の環境変数を出力します。
また、Webサイトを作成した際にCoralを使用したURLを正式なサイトURLとして公開すれば、Webサイトの閲覧者が増加しても転送容量を最小限に抑えることができますし、Webサイトに対するDoS攻撃を防ぐことが可能となります。

【参考】 Coral: The NYU Distribution Network


4 プロキシサーバに関するFAQ

ここからは頻繁に寄せられるプロキシサーバ関連のご質問にお答えします。


質問1

プロキシを無断で利用すると不正アクセス禁止法に抵触するという話を聞いたのですが本当ですか?

回答1

それは間違いです。
「不正アクセス行為の禁止等に関する法律」によって定義されている不正アクセス行為とは、アクセス制御機能を有するコンピュータ(つまりパスワード認証のあるコンピュータ)に他人の識別符号(つまりパスワード)や何らかの特殊なコマンドを入力して、それを不正に利用できる状態にすることです。したがって、一般の外部から自由に利用可能なプロキシはアクセス制御機能により利用を制限されているとはいえないため、それを無断で利用したとしても不正アクセス行為には該当しません。

これはインターネットの性質上当然のことだといえます。プロキシに対するアクセス方法が仕組み的にWWWサーバに対するそれと同じことから考えれば、外部から利用(閲覧)できるように設定されている以上無断で利用(閲覧)されるのが当たり前です。もしこれが違法行為とみなされるのであれば、他人のWebページを勝手に閲覧することも違法行為になってしまうでしょう。
また、もしプロキシの管理者が外部から無断で利用されることを好まないのであれば、認証機能を付けたりポートを閉じたりして対策を講じればよいだけの話です。ただ管理がずさんなために外部から自由にアクセスできるように設定されているプロキシも多いようですが…。

上述した通りプロキシを外部から無断利用すること自体は法律上問題ありませんが、あまりにも負荷が掛かるような使い方をすると業務妨害とみなされてしまう場合が考えられますので注意が必要です。


質問2

プロキシと判らせないプロキシの条件を教えてください。また、そのようなプロキシの入手方法を教えてください。

回答2

そのようなプロキシの条件として、まず第一に、HTTPのリクエストヘッダにプロキシ特有の環境変数を付加しないことが挙げられます。プロキシ特有の環境変数についてはENV Checkerを参考にしてください。この条件に当てはまるプロキシは当サイトのプロキシリスト「Anonymous」から入手できます。

次に、「proxy」、「proxies」、「cache」あるいは「squid」などの文字列をホスト名に含むものはプロキシであることがほとんど明白なので、プロキシリスト「Anonymous (A)」からそれらの文字列を含むプロキシを除外したものに候補が絞り込まれます。
ただし、上記のようなホスト名に含まれていれば確実にプロキシだといえる文字列は少数であり、なんとなくプロキシと思わせる曖昧な文字列(「ns」や「www」等のようなプロキシでなくてもホスト名に含まれることがある文字列)の方が圧倒的に多いため、ホスト名に含まれる文字列によって「プロキシと判らせないプロキシ」を厳密に選別することは不可能です。特に、そのようなプロキシを必要以上に追求すると、良質のプロキシまでも排除してしまうことになりかねません。

これ以上絞り込むための基準はプロキシを判断する側のロジックに依存します。例えば、環境変数「HTTP_CONNECTION」が「keep-alive」以外のものをプロキシと判断するロジックもあります。また、ホスト名に数字が含まれないものをPPP接続ではないとしてプロキシとみなす強引なロジックがあるかもしれません。あるいは、プロキシかどうかを判断する側が日本人であれば、日本以外からのアクセス(ホスト名がjpドメイン以外)をプロキシとみなすかもしれません。
しかしながら、これらはどれもプロキシでなくても当てはまる場合が多々あるため、常にこれらのロジックがプロキシの判断に使われるということはないでしょう。

結局のところ、何を基準にプロキシと判断するかは人によって様々なので、「プロキシと判らせないプロキシ」を入手するためには、プロキシかどうかを判断する側のロジックを考慮した上でプロキシリスト「Anonymous」からご自分の目で選別する事が最も確実だといえます。


質問3

匿名(Anonymous)プロキシと非匿名(Non-Anonymous)プロキシの違いについて教えてください。また、それぞれの長所と短所を教えてください。

回答3

プロキシを介してENV Checkerにアクセスすると、プロキシからWWWサーバに対して送信される環境変数を確認できます。もしここでユーザのIPアドレスがどの環境変数にも含まれていなければ、利用しているプロキシは匿名(Anonymous)プロキシということになります。一方、もし名前が「HTTP」から始まる環境変数(ほとんどの場合「プロキシ関連の情報」の欄にある環境変数)にユーザのIPアドレスが含まれていれば、利用しているプロキシは非匿名(Non-Anonymous)プロキシということになります。
つまり、両者の相違点はユーザを特定するための情報(IPアドレス)をサーバに漏洩するかどうかであり、個人情報を隠蔽するだけの目的でプロキシを利用する場合においては匿名プロキシの方が非匿名プロキシよりも優位性があるといえます。

しかしながら、一般的なサイトのアクセス解析でプロキシ関連の環境変数がチェック・記録されることはほとんどなく、必ずしも匿名プロキシの優位性が有効となるわけではありません。
また、現実には匿名プロキシの方が非匿名プロキシよりも圧倒的に多く利用されるため、多くの場合において匿名プロキシはアクセス速度の低下が早く、すぐに利用できなくなってしまいます。
そのため、必ずしもすべての面において匿名プロキシが非匿名プロキシより優位に立つというわけではなく、遅い匿名プロキシを無理に利用するよりも速い非匿名プロキシを利用した方が有意義であることがほとんどです。

以上のことから、匿名プロキシと非匿名プロキシの長所・短所はそれぞれ次のように挙げられます。
したがって、利用目的に応じてプロキシの種類を使い分けることがプロキシの賢い利用法といえるでしょう。特に、プロキシをキャッシュサーバとして利用したり、特定のドメインを持つユーザからのアクセスを弾くサイトを閲覧することを主目的に利用する場合においては、匿名プロキシではなく非匿名プロキシを利用すると効果的で、同じプロキシをより長期的に快適に利用することが可能となります。


質問4

プロキシを利用すると利用料金が発生するのですか?

回答4

当サイトに掲載されているプロキシは全て無料で利用可能です。いくら使っても後から利用料を請求されることはありません。
また、海外には匿名性に特化した有料のプロキシも一部存在しますが、必ず利用前にクレジットカード等で料金を支払う前払い制になっているので、後から利用料を請求されることはありません。
つまり、当サイトに掲載されているような初めから許可なく自由に利用可能なプロキシは全て無料です。


Home