Net::FTP Ruby ライブラリを使用して FTP サーバーに接続し、ファイルをダウンロードしています。すべてうまく機能しますが、ファイアウォールが IP アドレスをホワイトリストに登録しているため、アウトバウンド プロキシを使用する必要があり、Heroku を使用してサイトをホストしています。有望そうな新しい Proximo アドオンを試していますが、Net::FTP でそれを使用することができません。
Net::FTP docsに次のように表示されます。
接続 (ホスト、ポート = FTP_PORT)
ホストへの FTP 接続を確立し、オプションでデフォルト ポートをオーバーライドします。環境変数 SOCKS_SERVER が設定されている場合、SOCKS プロキシ経由で接続を設定します。接続を確立できない場合、例外 (通常は Errno::ECONNREFUSED) を発生させます。
しかし、この環境変数を設定しようとしても、設定ENV['SOCKS_SERVER'] = proximo_url
も機能しません。これを適切に行う方法を知っている人はいますか?SOCKS プロキシである必要はありません。HTTP プロキシで十分ですが、Net::FTP ライブラリがこれをサポートしているかどうかはわかりません。
...いくつかの調査の後...
Net::FTP が と呼ばれるクラスを探していることがわかりました。このクラスについては、これらのドキュメントSOCKSSocket
を見つけました。しかし、私はそれを含めることはできません。false を返します。これは、既に読み込まれていることを意味していると確信しています。include 'socket'