Comme je suis constamment frustré par les dysfonctionnements du plugin Azure Blob Storage, j’ai déployé un serveur Flexify.IO pour traduire le protocole Azure en protocole S3.
Cependant, après l’avoir configuré dans Discourse, cela ne fonctionne pas. L’erreur est la suivante :
Échec de l'ouverture de la connexion TCP vers support.xxx.xxx.xxx.xxx:443 (getaddrinfo : nom ou service inconnu)
où xx.xx.xx.xx est l’adresse IP de la passerelle S3 et support le nom du bucket…
Ce qui est étrange, c’est que j’ai utilisé S3 Browser pour tester le point de terminaison et cela fonctionne parfaitement.
Alors, une âme charitable pourrait-elle m’indiquer ce que j’ai fait de mal ?
Je ne vois qu’une cause potentielle liée à la région, car la région exposée par le point de terminaison est eastasia (une région Azure valide), mais je ne peux choisir que parmi les régions AWS standard dans une liste. Néanmoins, cela reste étrange, car l’erreur semble indiquer un échec de connexion au point de terminaison lui-même, et non une incompatibilité de région.
J’ai l’impression que mon paramètre s3_bucket est incorrect, car il ajoute le nom du bucket à l’URL du point de terminaison lui-même.
Devrais-je utiliser plutôt le format bucket/dossier ? Que dois-je mettre dans l’un ou l’autre ?
EDIT : En examinant le code source, cela semble être codé en dur. Que se passe-t-il si mon fournisseur de stockage n’utilise pas le nom du bucket comme préfixe ?
Le message d’erreur le confirme. getaddrinfo: Name or service not known indique un échec de la résolution DNS ; il n’existera jamais de nom d’hôte du type « support.303.303.303.303 ».
Il tente toujours d’accéder à support.??.??.??.??:443.
Donc, je suppose que dans Discourse, le bucket doit former un sous-domaine ?
ÉDIT 1
D’accord, j’ai supprimé les paramètres app.yaml et créé un sous-domaine avec support qui pointe vers xx.xx.xx.xx. Maintenant, lorsque j’essaie de télécharger, cela tourne pendant longtemps, puis renvoie une erreur générique :
Aws::S3::Errors::BadRequest
Y a-t-il un moyen d’obtenir le message d’erreur exact ?