1生産、需要と問題点
実際にFTPサーバアリクラウドサーバ上のファイルとしてFileZillaのサーバーソフトウェアをインストールし、クラウドサーバアップロードファイルを通じて各クライアントに配布する必要があります。
クライアントプログラムは、サーバーにファイルを転送するためにFTPを使用しています。クライアントはLANアドレスであるので、サーバはクライアントにアクセスするためのイニシアチブを取ることができない、パッシブモードにサーバーを設定する必要があります。
しかし、実際に発見された、クライアントプログラムがサーバーに接続できますが、サービスに通常の転送ファイルを終了することはできません、サーバー結果のファイルサイズは0です。サーバー「425転送のためのオープンデータ接続をすることはできません」エラーが発生します。
2、問題分析
最初の容疑者は質問で書かれたクライアントプログラムです。ですから、ファイル転送のテスト結果が正常を示し、FTPクライアントFileZillaをサーバーとして接続するには、これらの2つのソフトウェアを使用して、クライアントコンピュータのFlashFXPとWinSCPのソフトウェアにインストールされています。
これは、クライアントプログラムに問題があることを疑われました。しかし、クライアントプログラムはINDY、ICS、CISおよびその他のFTPクライアントコンポーネントを交換した、との結果が正常でありません。
クライアントがWinSCPの通常のFlashFXPを使用し、ファイアウォールの設定とは何の関係もそう明らかに、ファイルを転送しないので、また、状況を簡単にするためには、ファイアウォール、すべて無効にウイルス対策と360人の警備員も閉じているサーバとクライアントがあります。
また、FileZillaのサーバーのセットアップの問題ことが疑われているが、情報のオンライン検索の多くは、無駄にすべて。
特定のオープン「パッシブモードの設定は、」Webサイトの下部には、問題をチェックすることができますことを見出しました。
次に、クライアントコンピュータ上にクリックしてくださいアクセスhttps://ftptest.net/
結果は以下の通りであります:
それは、「サーバーが外部のIPアドレスを知っている」しなければならない第2条で、ネットワーク構成は明らかに問題ですが、解決策は非常に明確です。これは、サーバーが外部ネットワークアドレスをクリアするように設定する必要があり、非常に明確です!
3、問題解決
以下のように「パッシブモードの設定」オプションでは、設定明確なパブリックアドレスは次のとおりです。
再次访问https://ftptest.net/测试,hula!测试通过!
客户端软件上传文件试试,也OK了!
至此,内网向阿里云服务器FTP上传文件的问题得到解决。
4,总结
至此还有一个疑惑未解,就是为什么服务端“Passive mode settings”选项中,未设置明确的外网地址时,FlashFXP和WinSCP软件也能正常使用呢?
其实分析FlashFXP的日志不难发现,在FileZilla Server的被动模式下未设置明确的外网地址时,其得到的服务器地址确实是阿里云服务器的内网地址(172,18,134,181),但软件足够聪明,下一步打开数据连接时将IP地址自动转换为了外网地址(120.25.204.13),因此能连接成功。如下图:
但普通的FTP客户端软件缺少这一转换,直接使用服务器返回的内网地址去建立数据连接,显然只能失败。如下图:
当FileZilla Server的被动模式下设置了明确的外网地址时,客户端得到的是服务器的外网地址,因此数据连接能够成功。如下图:
总之,为了确保被动模式下FTP连接不出现“425 Can't open data connection for transfer”错误,应在服务端“Passive mode settings”选项中,设置明确的外网地址。