プロキシサーバ

プロキシサーバとは

proxyサーバとは、代理で通信を行うサーバのことです。
内部ネットワークのコンピュータが外部ネットワークにアクセスするときに通信を中継します。


現代では、HTTPプロキシサーバであることが多いです。

  • 代理通信機能
  • キャッシュ機能
  • フィルタリング機能
  • プロキシ認証機能



プロキシサーバを使った通信方式

HTTP通信の仕組み

  1. プロキシサーバとPC間でコネクションを確立(3Wayハンドシェーク)
  2. PCがHTTP要求:GET アクセス先のURLを指定 →DNSサーバにPCが接続する必要がない。
  3. アクセス先にリンクをプロキシサーバが取得
  4. プロキシサーバとWebサーバ間でコネクションを確立(3Wayハンドシェーク)
  5. プロキシサーバからHTTP要求:GET
  6. WebサーバからプロキシサーバへHTTP応答
  7. プロキシサーバからPCへHTTP応答



HTTPS通信の仕組み

プロキシサーバとPC間でコネクションを確立(3Wayハンドシェーク)

PCからプロキシサーバへトンネリング要求:CONNECT アクセス先のURL:ポート番号

FQDMを名前解決し、IPアドレスを入手。指定されたポート番号を取得

プロキシサーバとWebサーバ間でコネクションを確立(3Wayハンドシェーク)

接続完了

PCとWebサーバ間でTLS/SSLハンドシェイクし、セッション鍵を互いに持てるようになる

PCからプロキシサーバへ通常のHTTP要求

プロキシサーバをそのまま中継し、WebサーバにHTTP要求が送られる。



7では、プロキシサーバはそのまま通過させるので、URLフィルタリングやコンテンツフィルタリングはできません。


そのまま通過させることをトンネリングといいます。

PCにおけるプロキシサーバの設定

プロキシサーバの指定方法は3種類あります。

  1. 手動で設定:プロキシサーバのFQDNやIPアドレスを直接指定して設定
  2. PACファイルを利用:プロキシサーバの設定が書かれたPACファイルのURLを設定
  3. WPAD:プロキシサーバを自動的に見つけ、設定



リバースプロキシサーバ

リバースプロキシサーバは、外部から内部LANのサーバにアクセスする場合に用いるプロキシサーバのことです。

通常のプロキシサーバは内部から外部にアクセスするときに中継するのに対し、リバースプロキシサーバは外部から内部に通信する場合に用います。