HTTP Proxy
文書にエラーがある場合、または提案がある場合は、メッセージを Mudfish フォーラム (https://forums.mudfish.net) に残してください。
この文書では、Mudfishを使ってHTTP(Web)通信を高速化する方法(以下、Web高速化)を説明します。
概要
Web アクセラレーションと呼んでいますが、CDN (Content Delivery Network) 事業者の間では一般的な技術です。Cache Server(通常は reverse proxy)をユーザーのコンピューターにできるだけ近い場所に配置し、HTTP protocol で配信するコンテンツをキャッシュします。キャッシュにコンテンツがある場合は、Backend サーバーへ問い合わせずに Cache Server から直接ユーザーへ配信することで、通信を高速化します。
しかし、他のCDN企業が行うcachingとは、そのCDN企業は通常会社を相手に営業しており、その会社のホームページや重要資料をキャッシュするのとは対照的に、Mudfishの場合、ユーザーが訪問するホームページを対象にキャッシュすることが違います。
提供するサービス方式はもう少し Transparent proxy に近いと考えてください。
特徴と効果
独自開発のCache-Terminator(別名「キャッシュターミネーター」:varnishコードに基づいて修正されたマルチスレッドの非ブロック化Cache Server)を利用してサービスを行っており、ご利用時に次のような特典をご覧いただけます。
-
Mudfish WAN optimizationテクノロジを適用することで、海外からの接続時に遅いWebページの読み込み時間を改善できます。たとえば、動画の視聴、ファイルのダウンロードなど、Web上で起こるすべての行為を加速できます。
-
国別接続制限バイパスのための HTTP プロキシとして使用できます。すべての国内および海外にインストールされているMudfish中継サーバーを介して利用可能です。
-
現在のパブリック IPを一時的に隠したい場合に使用できます。 (Mudfish 中継サーバーのログにのみ abuse 行為を防ぐために IP が記録されます.)
欠点
-
HTTP プロトコル 1.1 specification によれば、Backend サーバー (通常は実際の Web サーバー) が Cache-Control などのヘッダーを通じて対応する応答結果をどれだけ cache してもよいかを決定することができます。ただし、場合によっては、Backendサーバーがコンテンツ更新を通じてコンテンツを更新する場合、以前に受信した応答のCache-Controlヘッダーに準拠しているMudfish中継サーバーは、それが更新されたかどうかを知らずに、古いデータを送信することで結果的にページ画面が壊れることがあります。
通常この問題を解決するために Purging 機能を利用することになりますが、まだユーザーが直接制御できるインタフェースを提供していません。
公開IPアドレスで接続する
Mudfish中継サーバーは、公開IPv4アドレスによるHTTP(S)プロキシ接続に対応しています。この方式では、MudfishのIDとパスワードによる認証が必要です。
サービスの種類
| サービス | TCPポート | 説明 |
|---|---|---|
| HTTPプロキシ | 18080 | 通常のHTTPプロトコルを使用します。リクエストによっては、暗号化されていないトラフィックが転送されます。 |
| HTTPSプロキシ | 18082 | 中継サーバーとの接続をSSLで暗号化します。Webトラフィックの検査やネットワークファイアウォールの回避に役立つ場合があります。 |
| HTTP (SSL Bump)プロキシ | 18083 | 中継サーバーがHTTPSトラフィックを復号し、Mudfishのroot CA証明書で再度暗号化して転送します。 |
SSL Bump方式を使う場合は、あらかじめMudfishのroot CA証明書をブラウザにインストールしてください。
中継サーバーのアドレスの確認と設定
- 中継サーバーの状態で、使用するサーバーの公開IPv4アドレスまたはホスト名を確認します。中継サーバーAPIでもJSON形式で確認できます。公開IPv4アドレスは
ip、ホスト名はhostnameフィールドにあります。すべてのフィールドの説明は、中継サーバーAPIのレスポンスフィールドを参照してください。 - ブラウザまたはOSのプロキシ設定で、その公開アドレスとサービスに合ったポートを入力します。通常のHTTPプロキシではTCP 18080を指定します。
- 認証を求められたら、MudfishのIDとパスワードを入力します。
以下の従来の内部ネットワーク向け設定例では、内部IPと8080ポートを使います。公開IPで接続する場合は、上記で確認した公開アドレスとポートを使用してください。
以下の Chrome/Chromium と Internet Explorer の設定手順・画像は旧バージョンの例です。ブラウザのバージョンによってメニュー名や位置が異なる場合があります。
ブラウザ固有の設定方法 (Direct HTTP プロキシ設定方法)
この方法を使用すると、ブラウザのすべてのトラフィックがMudfish中継サーバーを介して配信されるため、Mudfishプログラムの終了後にインターネットブラウザがプロキシ設定によって正しく動作しないことがあります。
この問題を解決するには、Proxy設定を無効にする必要があります。
例として、Mudfish韓国KT中継サーバー(そのサーバーの内部IPは10.255.96.1で、HTTP proxyはport 8080が使用されます)をProxyサーバーとして使用する方法について説明します。
Chrome(クロム)
Windows版Google Chromeは、Internet Explorer(IE)と共通のシステムのプロキシ設定を使用します。
プロキシ設定を変更するには、次の手順に従います。
-
ブラウザツールバーのメニュー(旧版では工具の形のアイコン)をクリックします。
-
設定 を選択してください。

韓国語版の旧Chromiumの例です。「설정」が「設定」です。画像では右上の3点メニューを開いています。
-
詳細設定 をクリックします。

画像は韓国語UIです。「고급」が「詳細設定」です。
-
「ネットワーク」セクションで プロキシ設定の変更 をクリックします。これにより、インターネットのプロパティダイアログボックスが開きます。

画像は旧Chromiumの韓国語UIです。「프록시 설정 열기」がプロキシ設定を開く項目です。
-
では、以下の Internet Explorer の設定の手順 2 から行ってください。
Firefox
-
アドレスバーに
about:preferencesを入力して設定を開きます。設定内で「プロキシー」を検索し、「プロキシーを設定」から接続設定を開いてください。
-
手動でプロキシーを設定する をクリックします。

-
手動でプロキシーを設定する ボックスのIPとPortボックスに使用するMudfish中継サーバーの内部アドレス(たとえば、IPは10.255.96.1、portは8080)を入力します。
-
すべての情報が変更されたら、Firefoxに戻るまで[OK]をクリックします。
Internet Explorer
この情報は Windows Internet Explorer 7 以降で適用されます。
-
ツール ボタンをクリックして インターネットオプション をクリックします。 Internet Explorer 11ユーザーの場合は、下図のようにインターネットオプションを選択してください。

画像は韓国語版Internet Explorerです。「인터넷 옵션」が「インターネット オプション」です。
-
接続 タブをクリックし、 LAN設定 をクリックします。

画像は韓国語UIです。「연결」は「接続」、「LAN 설정」は「LANの設定」です。
-
プロキシサーバー 項目で、「ユーザーLANにプロキシサーバーを使用する」チェックボックスを選択し、「ローカルアドレスにプロキシサーバーを使用しない」チェックボックスも選択します。

画像は韓国語UIです。「사용자 LAN에 프록시 서버 사용」は「LANにプロキシ サーバーを使用する」、「로컬 주소에 프록시 서버 사용 안 함」は「ローカル アドレスにはプロキシ サーバーを使用しない」、「고급」は「詳細設定」です。
-
「詳細」ボタンをクリックすると、表示されるプロキシ設定ウィンドウのHTTPエントリに正しいMudfish中継サーバーのIPとポート情報を入力します。

画像は韓国語UIです。HTTP欄に内部IP 10.255.96.1とポート8080を入力しています。公開IP接続ではこの値をそのまま使わず、上記の公開アドレスと対応ポートを入力してください。
-
すべての情報が変更されたら、Internet Explorerに戻るまで[OK]をクリックします。
ブラウザ固有の設定方法 (Direct SOCKS プロキシ設定方法)
この方法は、WPAD機能を使用するのが難しいユーザーのために作成されたセクションです。この方法を使用すると、ブラウザのすべてのトラフィックがMudfish中継サーバーを介して渡されるため、Mudfishプログラムの終了後にインターネットブラウザがproxy設定によって正しく動作しない可能性があります。
この問題を解決するには、Proxy設定を無効にする必要があります。
以下では、Mudfish 中継サーバーを WPAD 機能を使用せずに直接ブラウザの SOCKS プロキシ設定機能を利用する方法について説明しています。
例として、Mudfish韓国KT中継サーバー(そのサーバーの内部IPは 10.255.96.1 で SOCKS proxy は port 8081 が使用されます。)をProxyサーバーとして使用する方法について説明します。
Chrome(クロム)
Windows版Google Chromeは、Internet Explorer(IE)と共通のシステムのプロキシ設定を使用します。
プロキシ設定を変更するには、次の手順に従います。
-
ブラウザツールバーのメニュー(旧版では工具の形のアイコン)をクリックします。
-
設定 を選択してください。

韓国語版の旧Chromiumの例です。「설정」が「設定」です。画像では右上の3点メニューを開いています。
-
詳細設定 をクリックします。

画像は韓国語UIです。「고급」が「詳細設定」です。
-
「ネットワーク」セクションで プロキシ設定の変更 をクリックします。これにより、インターネットのプロパティダイアログボックスが開きます。

画像は旧Chromiumの韓国語UIです。「프록시 설정 열기」がプロキシ設定を開く項目です。
-
では、以下の Internet Explorer の設定の手順 2 から行ってください。
Firefox
-
アドレスバーに
about:preferencesを入力して設定を開きます。設定内で「プロキシー」を検索し、「プロキシーを設定」から接続設定を開いてください。
-
手動でプロキシーを設定する をクリックします。

-
手動でプロキシーを設定する ボックスのIPとPortボックスに使用するMudfish中継サーバーの内部アドレス(たとえば、IPは10.255.96.1、portは8081)を入力します。 SOCKSホスト部分が使用されます。
-
すべての情報が変更されたら、Firefoxに戻るまで[OK]をクリックします。
Internet Explorer
この情報は Windows Internet Explorer 7 以降で適用されます。
-
ツール ボタンをクリックして インターネットオプション をクリックします。 Internet Explorer 11ユーザーの場合は、下図のようにインターネットオプションを選択してください。

画像は韓国語版Internet Explorerです。「인터넷 옵션」が「インターネット オプション」です。
-
接続 タブをクリックし、 LAN設定 をクリックします。

画像は韓国語UIです。「연결」は「接続」、「LAN 설정」は「LANの設定」です。
-
プロキシサーバー 項目で、「ユーザーLANにプロキシサーバーを使用する」チェックボックスを選択し、「ローカルアドレスにプロキシサーバーを使用しない」チェックボックスも選択します。

画像は韓国語UIです。「사용자 LAN에 프록시 서버 사용」は「LANにプロキシ サーバーを使用する」、「로컬 주소에 프록시 서버 사용 안 함」は「ローカル アドレスにはプロキシ サーバーを使用しない」、「고급」は「詳細設定」です。
-
「詳細」ボタンをクリックすると、表示されるプロキシ設定ウィンドウのSocksエントリに正しいMudfish中継サーバーのIPとポート情報を入力します。

画像は韓国語UIです。Socks欄に内部IP 10.255.96.1とポート8081を入力しています。
-
すべての情報が変更されたら、Internet Explorerに戻るまで[OK]をクリックします。