Digital Ocean Spaces (S3) « impossible de signer la requête sans identifiants définis »

J’essaie de configurer Digital Ocean Spaces pour le stockage S3.

J’obtiens ceci lorsque j’essaie d’exécuter des sauvegardes…

Même chose lorsque je télécharge des photos…

J’ai cette configuration…

…mais je ne sais pas comment tester si cela fonctionne réellement. Je ne connais pas très bien ces systèmes. C’est juste pour un petit forum de groupe d’amis.

Initialement, j’avais ce qui suit en ligne, mais j’ai dû le commenter à nouveau dans l’app.yml car la reconstruction ne fonctionnait pas avec ces lignes actives. Je ne sais pas si c’est toujours nécessaire ou non à ce stade…

J’ai téléchargé manuellement un fichier depuis la zone d’administration de Digital Ocean Spaces, l’ai mis en public, et je peux l’ouvrir via un navigateur.

J’ai également créé manuellement le dossier “*-backups” dans DO Spaces.

Voici un exemple de mon manque de connaissances. Je suis bloqué ici et je ne sais pas vraiment pourquoi. D’une manière ou d’une autre, je me suis désinstallé de quelque chose et je ne sais pas comment revenir en arrière.

image
Pour une raison quelconque, ce qui se trouve habituellement dans /var/discourse semble maintenant être dans /var/www/discourse

Je suis juste bloqué à ce stade. J’ai cherché sur le forum et je n’ai rien trouvé qui puisse résoudre mon problème. J’ai passé une journée dans la même boucle. C’est dans le même ordre d’idées, mais il s’agit d’AWS S3 réel et non de DO Spaces (S3)…

Toute aide serait appréciée. Merci.

1 « J'aime »

Il vous manque le paramètre use_s3 qui est recommandé dans le sujet que vous avez lié.

Vous devriez copier-coller ces paramètres à partir du sujet que vous avez lié plutôt que d’essayer de les taper. Vous avez besoin de deux-points et non d’un signe égal.

Si vous voyez des choses dans /var/www/discourse, vous êtes à l’intérieur du conteneur. Vous devez quitter pour revenir au système d’exploitation.

1 « J'aime »

Merci pour vos commentaires.

Il est là. Je suppose qu’il n’apparaît tout simplement pas avec cette autre commande. J’avais mis le CDN en commentaire car il était indiqué qu’il y avait des problèmes avec, donc j’essayais d’isoler cela. Surtout parce que je ne suis pas sûr à 100 % que l’URL soit la bonne, car l’exemple utilisait un domaine personnalisé au lieu de celui par défaut de Spaces. C’était peut-être une mauvaise idée d’essayer de l’isoler. J’essayais beaucoup de choses.
Voici le paramètre complet…

Je n’en suis pas sûr à 100 %, mais je suis presque certain d’avoir fait du copier-coller. Je le fais habituellement.

J’ai eu une erreur en essayant de reconstruire, alors je suis retourné et j’ai remis ces lignes en commentaire…

Je vais essayer de les activer à nouveau et de l’exécuter.

Ah, « exit ».

C’est ce que je cherchais. Merci.

Qu’est-ce qui me manque sur cette partie S3 ?

J’ai supprimé le commentaire pour le rendre actif…

EDIT : Je viens de réaliser qu’il y a une faute de frappe dans cette dernière ligne. Je ne sais pas comment j’ai pu faire ça.

J’ai sauvegardé et essayé de reconstruire et j’obtiens ceci…

Cet avertissement de sécurité était nouveau. J’ai exécuté pour essayer de le résoudre…

chmod o-rwx containers/app.yml

J’ai vérifié la version de docker…

docker --version

Je cherche comment mettre ça à jour. Je pensais que le reconstruire mettrait ça à jour, mais peut-être pas.

Cela n’a pas résolu le problème. Même avec l’ancien commentaire désactivé et celui-ci copié/collé…

image

J’obtiens toujours une erreur lors de la reconstruction…

image
“n’a pas trouvé la clé attendue lors de l’analyse d’un mappage de bloc à la ligne 109 colonne 3”

Je ne suis pas sûr de la clé à laquelle il fait référence.

Les paramètres de clé d’accès et secrète sont dans les paramètres. Je ne sais pas comment tester pour m’assurer que ces paramètres fonctionnent réellement, mais ils y sont.

J’ai l’impression d’être proche, mais…

Après la reconstruction, il est resté bloqué en cours de réflexion…

image

J’ai laissé comme ça pendant quelques heures. Aucun changement.

J’ai commenté le CDN et j’ai de nouveau eu l’erreur « ligne 109 ». J’ai également commenté la zone inférieure et reconstruit. Je peux accéder au forum, mais je ne peux toujours pas télécharger de pièces jointes.

Lors de la reconstruction, il semble se bloquer ici pendant un moment.

image

Je ne sais pas si cela a une importance car il finit par passer sans aucune action.

Avec le CDN et la zone inférieure commentés, je peux faire fonctionner le forum, mais j’ai toujours le problème initial…

Je ne sais pas ce qui me manque.

Après la reconstruction, il est resté bloqué sur “thinking” (réflexion). Au début, j’ai pensé qu’il était peut-être en train de tout transférer ou de travailler en arrière-plan, alors je l’ai laissé…

Laissé ainsi pendant quelques heures. Aucun changement.

J’ai vérifié Spaces et aucun fichier n’a été téléchargé, donc je suppose qu’il était simplement bloqué sur quelque chose.

J’ai commenté le CDN et cela m’a redonné l’erreur “ligne 109”.

J’ai également commenté la zone inférieure et reconstruit. Je peux accéder au forum, mais je ne peux toujours pas télécharger de pièces jointes.

Lors de la reconstruction, il semble se bloquer ici pendant un moment, mais il finit par passer sans aucune action, donc je ne suis pas sûr que cela ait de l’importance…

Avec le CDN et la zone inférieure commentés, je peux faire fonctionner le forum, mais j’ai toujours le problème initial…

Je ne sais pas ce qui me manque. J’ai abandonné et laissé tous les paramètres S3 commentés pour l’instant.

NOTE EN MARGE : Existe-t-il une commande pour mettre à jour le docker ? Je pense que je le fais normalement via la zone d’administration, mais il ne me propose pas de passer à la mise à jour depuis la version 24.0.2. Je ne sais pas si c’est un gros problème. Je pense que la version actuelle est 24.0.7.

Je ne suis pas sûr si les paramètres de la zone d’administration remplacent les paramètres de app.yml ou vice versa, mais voici ces paramètres au cas où…

Je ne sais pas si les URL S3 et CDN sont censées inclure le nom du bucket ou non. Je ne suis pas non plus certain qu’il s’agisse de liens identiques.

J’espère que quelqu’un remarquera quelque chose de simple. Si vous avez lu jusqu’ici, merci encore !

Utilisez-vous le CDN de DigitalOcean Spaces ?

Si cela n’a pas chargé en 30 secondes, c’est probablement que ça ne chargera pas. Mais vous n’avez pas besoin d’attendre aussi longtemps. Vous pouvez regarder l’onglet réseau dans les outils de développement du navigateur et voir ce qui ne se charge pas.

Je ne suis pas sûr de ce qu’est le CDN social ocean, mais j’essaie juste d’utiliser le CDN intégré à Spaces.

Désolé, c’était « Digital Ocean ».

Le message que j’ai cité dit que vous ne devriez pas faire cela parce que cela ne fonctionne pas.

Si vous voulez plus d’aide de ma part, mon adresse e-mail se trouve dans mon profil.

1 « J'aime »

OK. C’est tellement bizarre.

QUELQUE CHOSE fonctionne maintenant. Je pensais avoir tout commenté (désactivé) et téléchargé une photo hier pour m’assurer que cela fonctionnait à nouveau. J’ai vérifié le chemin d’accès ce matin et il utilise le… CDN je suppose ?

https://XXXXXXX-storage.sfo3.digitaloceanspaces.com/optimized/2X/9/9b9fdb3eb27831650752b848363ea2a1a66ce137_2_375x500.jpeg

J’ai vérifié dans Spaces et il y a des images là-dedans…

image
Il semble que les images fonctionnent correctement maintenant. La seule chose à laquelle je peux penser est que j’ai décoché « S3 use IAM profile » dans les paramètres. Je suppose que c’est la clé qu’il recherchait et qu’il a cessé de rechercher. Je ne sais pas pourquoi j’avais coché cela en premier lieu. Probablement parce que je n’ai vraiment aucune idée de ce que je fais. :slight_smile:

image

J’ai toujours un problème pour exécuter les sauvegardes, mais c’est peut-être un problème d’espace Droplet. Il semble qu’il n’ait pas assez d’espace pour le mettre en scène localement avant de le télécharger. Je vais examiner cela séparément maintenant qu’il semble au moins connecté à l’espace.

image

Merci Jay, je vous contacterai plus tard cette semaine lorsque je pourrai à nouveau jouer avec ce forum d’amis. Je vais payer quelques factures pour l’instant.

1 « J'aime »

J’ai eu quelques minutes en attendant que mon conjoint se prépare, alors j’ai pensé vérifier l’espace. Après y avoir réfléchi davantage, j’ai réalisé que cela devait être le problème. J’ai vérifié avec…

df -h

Ah oui, vraiment plein. J’ai lancé…

docker system prune -a

J’ai lancé…

./launcher cleanup

Merci encore Jay.

Effectivement, cela a libéré plus de 20 Go.

J’ai lancé la sauvegarde manuellement et ça a fonctionné !!!

Maintenant, j’essaie de migrer tous les fichiers du stockage local vers S3…

rake uploads:migrate_to_s3

Souhaitez-moi bonne chance ! :slight_smile:

1 « J'aime »

J’ai vérifié quelques éléments ce matin en attendant le début d’une réunion.

Rake ne semblait pas fonctionner, ou peut-être est-il toujours en cours. Je ne peux pas encore le dire. L’utilisation de l’espace a diminué, mais lorsque j’ai vérifié manuellement d’anciennes photos, elles semblaient toujours avoir l’ancienne URL locale. Je devrai examiner cela plus en détail.

Je ne suis pas sûr de la différence entre rake et reback. Je suppose que l’un migre les fichiers et l’autre met à jour les chemins dans les publications. Il y a plus à apprendre.

Il utilise toujours beaucoup d’espace dans /import (1,4 Go) et /uploads (9,2 Go). Beaucoup pour notre petit forfait. J’essaie de décharger cela sur un stockage moins cher et ce sont de loin les plus gros morceaux.

Juste pour information à tous ceux qui configurent la même chose, voici ce qu’il utilise pour les URL de point de terminaison…

CDN
https://XXXXXX-storage.sfo3.cdn.digitaloceanspaces.com/original/2X/0/15740f130209eb1a6a4f147076eaa20e70a9772d.zip

ORIGINE
https://XXXXXX-storage.sfo3.digitaloceanspaces.com/original/2X/0/15740f130209eb1a6a4f147076eaa20e70a9772d.zip

La seule différence est le .cdn dans l’URL. Je dois mettre à jour mes paramètres.

D’après Copilot…
_________\_

Pour récuire les publications après avoir modifié le lien CDN dans Discourse, vous devez exécuter la tâche rake de récuisson afin que tout le HTML des publications cuites soit mis à jour avec les nouvelles URL d’actifs.

Voici le processus :


1. Entrer dans le conteneur

Shell

cd /var/discourse

./launcher enter app

Afficher plus de lignes


2. Exécuter la tâche de récuisson

Shell

rake posts:rebake

Afficher plus de lignes

Ceci va :

  • Recuire toutes les publications en utilisant les paramètres actuels (y compris votre nouvelle s3_cdn_url).

  • Mettre à jour le HTML cuit pour que les images et les téléchargements pointent vers le CDN.


Optionnel : Accélérer

Si vous avez un site volumineux, vous pouvez l’exécuter par lots :

Shell

rake posts:rebake[1000]

Afficher plus de lignes

Ceci recuit 1 000 publications à la fois.


3. Vérifier

Vérifiez quelques publications avec des images ou des téléchargements pour confirmer qu’elles utilisent maintenant l’URL du CDN.

_________\_
Il semble que cela fonctionne. Je vérifierai plus tard.

image

Je pars faire les beignets.

Ceci exécute le re-cuisson, mais pas seulement 1 000 à la fois. Il les exécute toutes et ignore la partie \[1000\]. Peut-être que ma syntaxe n’est pas tout à fait correcte.

Un autre rappel pour moi-même autant que pour les autres. Je cherchais cette URL dans le menu parce que je l’avais à l’envers ( .cdn.sfo3. au lieu de l’inverse - ce qui a évidemment cassé le SSL). Je n’arrivais pas à trouver le paramètre en cherchant. Puis j’ai trouvé une fenêtre que j’avais déjà ouverte. Je l’ai mise à jour et j’ai essayé de sauvegarder et j’ai obtenu ceci…

image
J’oublie qu’une fois que les paramètres sont ajoutés dans app.yml, ils disparaissent du menu des paramètres d’administration. Je m’en souviens maintenant.

Le re-cuisson semble avoir fonctionné, j’avais juste la mauvaise URL. Cela est en cours de mise à jour.

Je suis toujours à moins de 50 fichiers dans mon stockage Space, donc le rake de fichiers ne fonctionne pas. :thinking:

OK. Je pensais que c’était une petite percée ici. J’ai finalement compris quel était ce problème…

« did not find expected key while parsing a block mapping at line 106 column3 »

En parcourant quelques fils de discussion, j’ai vu ceci…

J’ai ouvert le mien et que vois-je, des espaces.

Je suis sûr de les avoir mis en pensant que ce n’était rien. Je les ai supprimés. Je pense que c’était principalement celui avant les « hooks: » auquel il faisait référence.

La reconstruction s’est bien passée. Merci @RGJ

Cependant, il n’aime toujours pas quelque chose.

Je ne vois toujours pas mon nombre d’éléments augmenter dans Spaces, donc il ne semble pas encore télécharger les fichiers /uploads vers ‘S3’. C’était quelque chose qui me laissait perplexe, donc je suis content que ce soit résolu. Mais je suis de retour à l’écran de chargement.

De plus, avec cela activé, j’obtiens juste l’écran de chargement.

Je l’ai commenté à nouveau…

Reconstruit à nouveau. Identique.

J’ai commenté les paramètres Spaces S3.

Reconstruit à nouveau.

Fonctionne

  • Chargement du forum
  • Chargement des images
    • Les nouvelles utilisant Spaces - Pas CDN
    • Les anciennes utilisant le stockage local

Ne fonctionne pas

  • Ne télécharge pas les fichiers vers Spaces
  • N’utilise pas le lien CDN pour le chargement des images
  • Si DISCOURSE_S3 et after_assets_precompile ne sont pas commentés, le forum reste bloqué sur le chargement dans un navigateur

À court d’idées. Je tourne en rond.

Je vais devoir laisser cela de côté pendant un moment. Au moins, cela évitera que l’espace ne soit plus un problème car les nouveaux téléchargements et les sauvegardes vont maintenant vers Spaces.