Cela m’affiche une erreur dans le fichier de journal, indiquant qu’il ne peut pas accéder à /uploads/....
Impossible d'accéder à '/uploads/default/original/1X/fe2af548af4a22f4802ddaa54afa557ae557417c.png' pour obtenir ses dimensions.
Je peux accéder à l’image sans problème si j’entre l’URL dans un navigateur web :
https://domain.com/uploads/default/original/1X/fe2af548af4a22f4802ddaa54afa557ae557417c.png
Terminé 200 OK en 23ms (Vues : 0.3ms | ActiveRecord : 0.0ms | Allocations : 3000)
Terminé 200 OK en 318ms (Vues : 1.2ms | ActiveRecord : 0.0ms | Allocations : 50347)
Impossible d'accéder à '/uploads/default/original/1X/fe2af548af4a22f4802ddaa54afa557ae557417c.png' pour obtenir ses dimensions.
Démarrage de GET "/posts/96" pour 84.115.50.36 le 2020-07-04 14:15:14 +0000
Traitement par PostsController#show en JSON
Paramètres : {"id" => "96"}
Aucune erreur n’apparaît lorsque https n’est pas forcé.
Terminé 200 OK en 18ms (Vues : 0.3ms | ActiveRecord : 0.0ms | Allocations : 3050)
Terminé 200 OK en 296ms (Vues : 0.5ms | ActiveRecord : 0.0ms | Allocations : 49562)
Démarrage de GET "/posts/97" pour 84.115.50.36 le 2020-07-04 14:17:43 +0000
Traitement par PostsController#show en JSON
Paramètres : {"id" => "97"}
Il semble que Discourse télécharge pour une raison quelconque l’image à nouveau depuis le serveur web pour effectuer certaines opérations de type lightbox.
Si je télécharge manuellement cette image dans le conteneur Docker de Discourse, il tente d’accéder directement à son serveur web via son adresse IP interne au lieu de passer par le proxy. Cela fonctionne via http, mais pas via https.
Le serveur web lui-même n’a que http disponible, mais il tente d’y accéder via https, ce qui échoue.
Je me demande pourquoi Discourse télécharge à nouveau l’image depuis son serveur web au lieu d’y accéder en interne sans utiliser http/https.
Édition : J’ai découvert que j’avais renommé app.yml en domain.name.yml, ce qui a poussé Docker à changer le nom DNS de domain.name pour son adresse IP interne. Je l’ai renommé en domain_name.yml et tout fonctionne désormais correctement.