日々精進

新しく学んだことを書き留めていきます

特定のサーバ経由でリクエストを送信する

Proxyでブロックされているサイトを見たい場合、日本からのアクセスが制限されているサイトを見たい場合、特定のIPからのリクエストしか通さないようになっている開発用サーバにリクエストを送りたい場合などに使える方法。 SSH PortForwardingを使うと特定のサーバ(以降踏み台とする)経由でリクエストを送信することができる(SSHトンネルとも言われる)

  • Local Port Forwarding 特定のIP・ポートへのリクエストのみ踏み台経由にしたい場合に使う。 以下のように~/.ssh/configに設定する。
Host fumidai
   User user
   Hostname <踏み台IPアドレス>
   Port 10022
   IdentityFile ~/.ssh/id_rsa
   LocalForward 8888 <リクエスト先IPアドレス>:<リクエスト先ポート>

ssh fumidaiを実行した後http://localhost:8888にアクセスすると踏み台経由でリクエストを送信出来る。

  • Dynamic Port Forwarding ローカルマシンで動いているブラウザ・サービスなどからのすべてのリクエストを踏み台経由にしたい場合に使う(アプリがSOCKS Proxyに対応していればアプリ単位で踏み台経由にさせることもできる) 以下のように~/.ssh/configに設定する。
Host fumidai
   User user
   Hostname <踏み台IPアドレス>
   Port 10022
   IdentityFile ~/.ssh/id_rsa
   DynamicForward 8888

Macの環境設定か、アプリの設定でSOCKS Proxyをlocalhost:8888に設定すると踏み台経由でリクエストを送信出来る。

参考: