Maison > Java > javaDidacticiel > le corps du texte

Comment puis-je résoudre l'erreur « Connexion fermée par l'hôte distant pendant la prise de contact » lors de la connexion à un serveur FTPS avec réutilisation de session TLS ?

Linda Hamilton
Libérer: 2024-11-12 17:23:02
original
1010 Les gens l'ont consulté

How Can I Resolve the

Connexion au serveur FTPS avec réutilisation de session TLS

Lors de la tentative d'établissement d'une connexion avec un serveur FTPS, le client peut rencontrer le message « Remote "L'hôte a fermé la connexion pendant la prise de contact". Cela se produit généralement lorsque le serveur nécessite que la même session TLS soit utilisée pour les connexions de contrôle et de données. L'implémentation FTPS d'Apache Commons Net ne prend pas automatiquement en charge ce comportement.

Pour résoudre ce problème et garantir la réutilisation de la session TLS :

  1. Implémentez un FTPSClient personnalisé :

    • Remplacez la méthode prepareDataSocket dans la classe FTPSClient pour réutiliser la session TLS.
    • Implémentez une logique similaire à celle trouvée dans FTPClient.java de Cyberduck.
  2. Remplacer DefaultFtpsSessionFactory :

    • Remplacer la méthode createClientInstance() dans DefaultFtpsSessionFactory.
    • Renvoyer votre FTPSClient personnalisé implémentation.
  3. Gérer le problème JDK 8u161 :

    • Définissez la propriété système "jdk.tls.useExtendedMasterSecret" sur false pour résoudre les problèmes de compatibilité dans JDK 8u161.
  4. Utilisez SessionsByHostAndPort :

    • Sur les versions Java plus récentes, utilisez la carte sessionsByHostAndPort dans SSLSessionContext au lieu de sessionHostPortCache pour la réutilisation de la session.
  5. Contourner les restrictions du SDK Android (facultatif) :

    • Si vous travaillez sur Android, contournez les restrictions du SDK pour accéder aux champs par réflexion.

N'oubliez pas que cette solution est une solution de contournement et peut ne pas fournir de solution à long terme.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal