プロクシー【proxy】
プロキシ
【英】proxy
プロキシとは、あるモジュールと本来の要求先との間に設けられ、本来の要求先の代理として機能するシステムのことである。プロキシ(proxy)とは、元々は「代理」という意味の英語である。
プロキシは、主にシステムの処理効率向上や、レスポンス向上、トラフィック減少、フィルタリング、アクセス制御などを目的として設置される。単にプロキシと言った場合には、ネットワーク分野におけるプロキシサーバーを指す場合がほとんどである。
また、システム設計の分野においては、デザインパターンの一つであるプロキシパターンを指す。機器構成やアーキテクチャ設計の分野では、配置の方法であるプロキシ構成を指す。
一般的に、多数のユーザーから本来の要求先に対して集中的に接続されると、トラフィックは増加し、要求先のサーバーでの処理量が増え、レスポンスは低下する。これに対して、プロキシは、ユーザー側により近い位置に設置され、本来の要求先の代わりとして要求に応答し、さらに様々な機能を付加的に提供する。プロキシは、付加的に提供される機能の例としては、キャッシュを用いたレスポンスの向上、接続の監視や制御、不適切な情報のフィルタリングや遮断、プロトコルの変換などを挙げることができる。
プロキシの典型的な用途としては、Web上で用いられるキャッシュサーバーを挙げることができる。回線速度の速いローカルのキャッシュサーバーに画像データなどをキャッシュしておけば、あまり更新されることのないホームページなどは高速に表示させることができる。プロキシを用いて、特定のURLへのアクセスを遮断したり、データ中の問題のある語を検出したりすることも可能になる。また、HTTPと他のプロトコルを変換することなども可能となる。
プロキシは、HTTPやHTTPSなどのWeb向けのプロトコルの他にも、SMTPやPOPといった電子メール向けのプロトコル上でも用いられる。この場合、メールの誤送信の防止や、スパムメールの拒否、ウィルスチェックなどが主な用途となる。
また、プロキシをサーバー側に設置し、クライアントからの要求に対し、本来のサーバーからではなく、このサーバー側に置いたプロキシからレスポンスを返すような使い方をする場合がある。このようなプロキシの用い方は特にリバースプロキシと呼ばれる。リバースプロキシと特に対比する形で、通常のクライアント側に設置するプロキシを、フォワードプロキシと呼ぶこともある。
なお、プロキシによく用いられるサーバーソフトウェアの代表的な製品としてはsquid(スクイド)などを挙げることができる。
デザインパターンの一種であるプロキシパターンは、本来の機能を提供するクラスと要求元との間にプロキシを立て、プロキシを通じて要求を実現するという処理パターンのことである。例えば、処理上必要となるインスタンスを得るために、プロキシに対してインスタンスを要求して得る、というように用いられる。
プロキシ
(プロクシ から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/03/22 01:31 UTC 版)
![]() |
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。(2010年6月)
|

プロキシ(英語: proxy)とは「代理」の意味である。インターネット関連で用いられる場合は、特に内部ネットワークからインターネット接続を行う際、高速なアクセスや安全な通信などを確保するための中継サーバ「プロキシサーバ」を指す。プロキシサーバはインターネットへのアクセスを代理で行うサーバを指す。
プロキシはクライアントとサーバの間に存在し、情報元のサーバに対してはクライアントの情報を受け取る、クライアントに対してはサーバの働きをする(HTTPプロキシの場合)。
なお、プロキシは、「プロキシー」「プロクシ」「プロクシー」のほか、リバースプロキシの対義語として「フォワードプロキシ」とも呼ばれる。
誰でも自由に使えるプロキシサーバを公開プロキシ(オープンプロキシ)という。ウェブサイトによっては、公開プロキシによるアクセスを制限することがある。
主な目的
プロキシを使用する目的としては、次のようなものがある。
高速なアクセス
同一プロバイダの管轄内のような独立のネットワークの内部から、外部のウェブサーバにアクセスしデータを受け取る場合、一度目のアクセスでウェブサーバの返してきたデータをネットワークの出入り口に設置したプロキシに一時的に保存しておき(このプロキシ内のデータはキャッシュと呼ばれる)、次回からのアクセスはウェブサーバではなく、このプロキシサーバからキャッシュされたデータを受け取るようにすれば、データの取得を高速化できる。
しかし、ウェブサーバのデータが更新されてもプロキシサーバ内のデータが更新されていない場合もあるので、注意を要する。また、初めてアクセスするページに対しては、キャッシュが存在しないために、直接アクセスするよりも必然的に遅くなる。このため、インターネットが普及し始めた1990年代には、現在と比べて低速だった個別回線(ダイヤルアップ接続28.8から33.6 kbps程度。)や、結節点のインターネットエクスチェンジ(IX)へのバックボーン回線の容量(数百kbpsから、多くても数Mbps程度)を補う目的で、多くのプロバイダで契約者用プロキシサーバが用意されたが、その後のIXやバックボーン回線の増強、2000年頃からの、ウェブページ(ウェブサイト)数の爆発的な増加や、いわゆるブロードバンドインターネット接続の普及などによって、プロキシは長所よりも短所の方が目立つようになり、単なるウェブサイトへのアクセスの高速化を目的としたプロキシサーバは廃止したプロバイダが多い。ただし、後述のリバースプロキシの場合、負荷の大きいサーバに対してはむしろ増えている。
キャッシュ機能としてのプロキシサーバ用ソフトとしては、DeleGateやSquidなどが有名である。
リバースプロキシ
外部ネットワークからの接続要求を中継して内部に接続するものをリバースプロキシと呼び、主に負荷分散等の目的で用いられる。
1台の本サーバに対して複数のリバースプロキシ(ミラーサーバ)と、それに「1つのホスト名に複数のIPアドレスを割り振る」との役割を持つDNSラウンドロビンによって成り立つ形式が多い。その場合は、リバースプロキシを備えたホストに、クライアントからリクエスト(アクセス)が有るとDNSラウンドロビンにより、ランダムで各リバースプロキシの一つに辿り着き、リバースプロキシ自身に格納されたキャッシュ情報をクライアントへと返信する。リバースプロキシは、一定時間ごとに本サーバを参照して、キャッシュを更新する。
すなわち、大量のアクセスが本サーバの代わりに複数あるリバースプロキシのどれかに届くことで処理が分散され、1台のサーバだとダウンするような大量のアクセスにも耐えられる。
しかし、そのDNSラウンドロビンによる方法にも欠点が幾つかあり(「機体の物理的な性能上限により、Soft面での限界も有る」など)、それを補うためにクラスター方式(PCを連結する方式)を採用する観点も有る。
安全な通信
外部ネットワーク(主にインターネット)からのアクセスは、全てプロキシを経由して各使用者のパソコンなどのクライアントに届くようにする。プロキシが通信内容をチェックすることで、クライアントが外部ネットワークに直接晒されなくなり、不正アクセスや侵入行為が困難になる。 プロキシサーバにアンチウイルスソフトウェアをインストールすることで、通信内容にウイルスが含まれていないかチェックすることもできる[1]。 ウイルスが内部に侵入して通信量が平時より増大していないか、使用しないサービスのポートを使用していないか、ログを定期的に監視することで安全性を高めることもできる。
TLS/SSLによる通信も、プロキシサーバを介して行う際は、暗号化した内容を一度復号して内容をチェックすることもできる。チェックしない場合はプロキシサーバをトンネリングする。
有害なサイトの遮断
いわゆるフィルタリング(コンテンツフィルタリング)のためのプロキシ。
プロキシを挟んで、クライアントと外部とのやりとりを全てチェックする。その際、例えばアダルトサイトやフィッシングサイト、出会い系サイト、暴力的や違法な内容のサイトなどの有害なサイトへのアクセスを遮断するように、プロキシのプログラムに設定しておけば、クライアントが有害なサイトを見ることができなくなる。
ただしこれは、管理側の人間が逐一サイトを拒否リストに登録する必要があるため、登録されていないサイトはたとえ有害であっても閲覧出来てしまう。逆に違法でないサイトであったとしても、何らかの理由から登録されていると見られなくなる弊害もある。現在のところ、アダルトサイトや違法サイトは日々新しいものが生まれているため、全てを遮断するのは非常に難しい。
携帯電話がインターネットに接続する際は必ず携帯電話会社の持つプロキシサーバをデータが通るため、携帯電話会社では、親が未成年者に携帯電話を持たせる場合、なるべくフィルタリング機能を使うよう呼びかけている。
翻訳・変換
Yahoo翻訳やGoogle翻訳など、「サイトごと翻訳する」という翻訳サイトもプロキシの1つである。これらのサーバの中には日英翻訳や日韓翻訳などのプログラムが組まれており、自動的に翻訳して結果をウェブブラウザ上に表示させる。
また漢字にふりがなをつけて表示させたり、標準語を関西弁などの方言に変換、あるいは独特な言葉に変換するなどの特徴的なプロキシサーバも存在する(方言変換Proxyサーバなど)。
インターネットが普及し始めた1990年代には、各種文字コードを特定のコードに変換する公開プロキシもあった。これらは1990年代後半には、クライアント側の多言語対応が進んで役目を終えた。
経路障害の回避
プロキシが接続元・接続先とは違う場所にあれば、そのプロキシを使うことによって経路が変わるので、場合によっては経路障害を回避できることもある。
検閲回避
中国など当局によるネット検閲が行われている場合に、それを回避するため利用されることがある。
プロキシを使う上での問題点
![]() |
この節には独自研究が含まれているおそれがあります。
|
不特定多数が利用しうる公開プロキシを通して掲示板に書き込んだ場合、掲示板を設置しているサーバのログにはプロキシサーバのIPアドレスが残り、実際に書き込みを行ったコンピュータのIPアドレスは隠蔽される。このためプロキシを通した書き込みには、掲示板荒らしや宣伝、犯行予告に使われてしまう可能性が少なからず存在する。掲示板の管理者がプロキシの管理者にアクセスログを請求する場合があるが、プロキシの管理者が記録を取っていなかったり(単なる公衆中継点など)、定期的に記録を抹消していたり、管理者の不注意などにより意図せず公開されていたプロキシであったりすると、追跡が困難となる。書き込んだ者が複数のプロキシを使っていた(複数串と言われる)場合はなおさらである。
また、一部の悪意ある者がスパイウェアやコンピュータウイルスをプロキシサーバに仕込み、そのプロキシの利用者のPCにそれらが入り込むように細工する場合がある。そうでなくても、アクセスした間のCookieや履歴、入力したパスワードなどはプロキシサーバ管理者から丸見えになるので、セキュリティ上の問題も多数存在する。
現在、多くの企業が社内(イントラネット)から社外(インターネット)へアクセスする際にプロキシ(ゲートウェイ)サーバを設けている。これは管理者が社員を監視する役割を持っており、外部サイトの閲覧や送受信するメールは全てプロキシを通過することになる。アメリカでは社員による職務中のインターネット株取引が横行し、業務に支障をきたすとして、プロキシに残されていたアクセスログのアクセス先から職務中に株取引をしていた社員を割り出し、解雇した例もある。
透過プロキシ
セキュリティの観点などから、フィルタリングを行うため等にプロキシを導入した場合、全ての内部の接続者に使用させる必要がある。その場合明示的な設定を要すると管理コストの増大等の影響が起きる。それを解決する一つの手段が透過プロキシ(transparent proxy)である。全ての接続要求を強制的にプロキシサーバに転送し、そのプロキシサーバが接続相手になりすまして要求に答えることにより、内部の利用者にプロキシサーバを意識させなくする。また、外部からの接続要求も透過プロキシによってリバースプロキシとして中継することにより、内部にある任意のサーバに対する不正アクセスと疑われる要求をフィルタリングすることが出来る。
俗称
プロキシは、語呂合わせやサーバを通るアクセスの様子に見立てて、「串(くし)」と呼ばれることがある[2]。また、これに関連して、プロキシを利用してインターネットに接続することを、「串を刺す」という[3]。
主なソフトウェア
- ASProxy
- Squid
- DeleGate
- Tor
- Bluecoat社 SGOS
- Proxy software and scripts - Curlie
- Free web-based proxy services - Curlie
- Free http proxy servers - Curlie
- Proxy test online
参考文献
- 戸根勤『マスタリングTCP/IPネットワーク用語事典』(第1版)オーム社、2002年11月30日。ISBN 4-274-06496-4。 NCID BA60003281 。
- キーステン・レフシン; Lundquist, Lita (2009). Translating Japanese Texts: Nihonbun no honʾyaku. Museum Tusculanum Press; コペンハーゲン大学. ISBN 978-87-635-0777-6
脚注
出典
- ^ “インターネット利用におけるセキュリティ対策”. 2015年10月11日閲覧。
- ^ 戸根勤, p. 74.
- ^ Refsing, Lundquist 2009, p. 119.
外部リンク
- 『プロキシ』 - コトバンク
- プロキシサーバーとは?仕組みやメリット、注意点について解説 - サイバーセキュリティ.com
関連項目
プロクシ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/03/21 00:57 UTC 版)
nc -l -p 8080 -e nc servername 80 指定されたWebサーバーに接続するWebプロクシとして機能する。
※この「プロクシ」の解説は、「Netcat」の解説の一部です。
「プロクシ」を含む「Netcat」の記事については、「Netcat」の概要を参照ください。
- プロクシのページへのリンク