1

PASVサーバーにモードを実装しておりFTP、データ エンドポイントの IP アドレスとポートをクライアントに送信します。IP は実際にはクライアントが既に接続している場所であるため、これはばかげているため、2 つのオプションがあります。

  1. IP 特定のインスタンスからパブリック アドレスを取得するにはどうすればよいですか? ではなくVIP、公共のものです。

  2. オブジェクトIPからユーザーが使用した元のターゲット アドレスを取得するにはどうすればよい ですか? Socket途中でルーターとロードバランサーを検討する:P

この質問のいずれかへの回答で問題ありませんが、別の方法で機能する可能性があります...の検索をIP行う公開アドレスを入手できますか?DNSmyapp.cloudapp.net

4 番目のオプションは、Azure Management API ライブラリを使用することです...しかし、あまりにも面倒です:P.

乾杯。

4

2 に答える 2

1

あなたがこれを理解したかどうかはわかりませんが、これが私の見解です。個々のロールインスタンスはすべてWindowsAzureロードバランサーの背後にあり、元の外向きのIPアドレスが何であるかがわかりません。また、IPアドレスを返す管理API呼び出しはありません。GetDeploymentはURLを返しますが、IPアドレスは返しません。唯一のオプションはDNSルックアップになると思います。

そうは言っても、ロールインスタンスでパッシブFTPサーバーをホストできるとは思いません(少なくともエレガントではありません)。自分の役割で最大25の入力エンドポイントを開くことができます(5から-この更新に関する最近のブログ投稿を参照)が、構成には手作業が含まれます。あなたのftpアプリケーションがあなたのポート範囲をそのような少数のポートに制限することを可能にするかどうかはわかりません。また:

  • 各ポートを独自の入力エンドポイントとして定義する必要があります(これは私が言及した手作業の部分です)-入力エンドポイントでは、内部エンドポイントとは異なり、ポート範囲を指定できません。
  • 内部で使用されるポート番号を指定する必要があり、ポート番号は連続している必要があります

ftpの最後の1つは、すべてのトラフィックが1つのポートを経由するため、問題なくsftpサーバーをホストできるはずです。

于 2011-05-28T04:19:08.497 に答える