SSHトンネルを使用したプロキシサーバーを介した2つのエンドポイント接続

SSHトンネルを使用したプロキシサーバーを介した2つのエンドポイント接続

私は単純なクライアントとHTTPサーバー(ポート80)を持っています。場合によっては、クライアントとサーバーが異なる場所に存在し、ファイアウォールの後ろにNATが適用されます(ポート80へのアウトバウンド接続のみが許可されます)。

両側で利用可能で、インバウンド接続(80/22 / その他?)を許可する3番目のサーバーにファイアウォールをバイパスするためにSSHトンネル(またはその他... NGINX?)を使用しようとしています。

SSHトンネルを介してこれを達成できますか?すべての種類のリバースプロキシで動作させることができますか(サーバー側で追加のプロキシを使用する必要があります。

答え1

質問は明確ではありませんが、とにかく解決しようとします。

その中間ホストを介して常に HTTP サーバーにアクセスできるようにしたい場合は、HTTP サーバーから中間ホストへのリバース SSH トンネルを使用し、中間サーバーのループバック インターフェイスから HTTP サーバーのポートをエクスポートできます (公開することもできます)インターフェイスで使用できますが、これはネットワーク上の誰もがHTTPサーバーにアクセスできることを意味します。

これを行うには、HTTPサーバーを使用する必要があります。これは Friendly.domain.tld のループバック インターフェイスでポート 80 をポート 8080 として公開します。ssh -R 8080:127.0.0.1:80 [email protected]

次に、ローカルマシンで次のコマンドを実行してローカルマシンに移植する必要があります。この時点から、ループバックインターフェイスのポート8080がHTTPサーバーに接続されます:)ssh -L 8080:127.0.0.1:8080 [email protected]

私はしばらく前に書いたブログ投稿からより多くの情報を得ることができます。http://dmitry.khlebnikov.net/2010/12/ssh-port-forwarding-intermediate.html

関連情報