sshでSOCKSプロキシを作成し、遠隔地経由でWebコンテツを取得する

概要

下図のように、My SiteからWeb Server Xには直接接続できないが、SSH接続可能な遠隔地のSSH Server(remote_server)経由なら接続できる場合に、My SiteのWebブラウザにWebServer Xのページを表示する方法を説明する。

ここでのremote_serverとして、AWSやAzureなども利用可能。その場合、HTTPリクエスト元の地域を接続するデータセンタの拠点にすることができる。

SOCKSプロキシの作成

My SiteのSSH clientで以下のように入力する。これは、My SiteにSOCKSプロキシを作成する。また、HTTPリクエストはremote_server経由で行われる。ポート番号8080は変更可能。
ssh -D 8080 remote_server

Webブラウザの設定

Webブラウザで、SOCKSプロキシを設定する。SSH Clientをlocalhost(同じマシン)で実行している場合、次のようにlocalhostを指定する。

Chrome

google-chrome --proxy-server="socks://localhost:8080"

Firefox

メニュー -> 設定 -> ネットワーク設定 -> 接続設定 でプロキシの設定画面が表示される。ここでSOCKSホスト欄にSSH clientのIPアドレスとポートを入力する。