2011年09月02日
SSH Worker-1.1: Support HTTP Proxy
ダウンロード
こちらからバージョン1.1をダウンロードして下さい。
SSH Worker Download Page
設定方法
HTTP Proxy経由で接続するホストがある場合、ホスト定義ファイルを次のように記述します。
#Region, Group, Type, Host, User, Password, Encoding, Nickname, Gateway(gwp|cmd|pxy:host[:port])
Region1, Group1, Type C, Hidden3, user, password, UTF8, , pxy:GatewayHost:80
キーワードにpxyを使います。またpxy(HTTP Proxy)を使う場合にはポート番号も必ず指定して下さい(この例ではport 80を指定)。
以上で終了。あとはこれまで通りに利用出来ます。
HTTP Proxy経由だと何が嬉しいか?
これまでに実装していたGatewayPorts(gwp)、OpenSSHクライアント(cmd)を利用したゲートウェイ経由での接続では、ゲートウェイとなるサーバに対し背後に隠れているサーバに対応したポートを開く(用意する)必要がありました。
SSH WorkerアプリケーションとGatewayとなるホスト間のネットワークでこれらのポートの利用が許可されていれば問題はありませんが、図のNetwork部分にファイヤーウォールがあり特定のポートしか利用できない、というケースも運用上あり得ます。
このようなケースでGatewayとなるホストでHTTP Proxyが有効になっていると1つのポートを使って背後にいる複数のホストに接続する事が出来ます。
ApacheにおけるHTTP Proxyの設定
あくまで最低限の設定という事で参考程度ですが、ApacheでHTTP Proxyを有効にする場合、次のような設定をhttpd.confに追記します。
<VirtualHost *:80> #ServerName ssh.proxy.com ProxyRequests On AllowCONNECT 22 <Proxy *> Order deny,allow #Deny from all Allow from all </Proxy>※この例では全てのホストからのプロキシ要求を許可しています。
これで22番ポート(sshd)へのプロキシが有効になります(設定後はhttpdを再起動)。
もう少し細かな条件をつける場合、こちらのサイトが参考になります。
Orion SSH2 for Javaを使ってHTTP Proxy接続する方法を詳しく知りたい
とても簡単です。ライブラリをダウンロード、解凍後、examplesに含まれるBasicWithHTTPProxy.javaを確認して下さい。
Ganymedですがこちらからもレビューできます。