5分でリモートサーバにプロキシをたててウェブアクセスする
デバッグをしていて、海外からウェブアクセスしたい場合が結構あります。コマンドラインツールだったら、単純にsshでリモートマシンに入って、curlコマンドを打てば良いのですが、jsの実行やグラフィカルなUIのテストをしたい場合は、ブラウザでのアクセスが必要になります。 こういう場合に、リモートにあるマシンにウェブのporxyサーバを立ち上げて、そこ経由でアクセスすることにまります。 proxyサーバはインストールではなく、Pythonスクリプトベースのものがたくさんるので、これを使います。 5分あればセットアップできます。 構成図はこんな感じです。 リモートサーバにPythonのproxyを準備する いろいろあるけど、今回はpython-proxyを使います。 ### リモートマシンのシェル $ pip3 install pproxy $ pproxy -l http://localhost:8899 Serving on localhost:8899 by http sshのポートフォワードで、ローカルのportをリモートのportにトンネルさせる sshのポートフォワードで、ローカルとリモートを繋ぎます。 リモートホスト: 34.95.141.133 ローカルの転送Port: 8080 リモート側の転送ホストとPort: localhost:8899 上記の場合だとこのコマンドでトンネル作成できます。 ### ローカルマシンのシェル $ ssh [email protected] -L 8080:localhost:8899 ... ブラウザでproxy設定をする ローカルのブラウザのproxy設定を以下の通りに変更する。 proxyサーバ: localhost proxy Port: 8080 ブラウザからアクセス この記事で書いた自分のアクセス元のIPロケーションを教えてくれるifconfig.coにアクセスしてみる。 ちゃんとリモートサーバのロケーション情報が返ってきて、proxy経由だとわかる。