Miniature non caricate

Sto migrando una community vecchia di 15 anni su Discourse e abbiamo deciso di non migrare oltre centomila post, ma solo quelli selezionati di valore duraturo.

Sul vecchio forum, le immagini sono salvate come https://static.xxx/uploads/xxx.jpg. Mantenremo attivo quel server anche dopo la migrazione.

Quando sposto i post con le immagini, non vengono né scaricate né generate le miniature, indipendentemente dal fatto che le immagini siano racchiuse tra parentesi o meno. Funziona per la sessione corrente, ma quando forzo il ricaricamento della pagina o un altro utente la visualizza, appare l’icona dell’immagine rotta:

L’icona punta direttamente all’immagine sul server statico, che funziona correttamente. Tuttavia, le miniature sarebbero “nice”.

L’unica cosa a cui riesco a pensare è un problema di firewall: entrambi i server si trovano in uno spazio IP privato e il firewall impedisce a un server interno di accedere a un altro tramite un IP esterno. Credo di aver configurato correttamente questo nel file /etc/hosts dell’host, ma non sono un esperto di Docker. Quando faccio ping al server delle immagini statiche, ottengo l’indirizzo IP interno corretto dal prompt dei comandi regolare. (nota a me stesso: entrare nel container e testare da lì)

C’è qualcos’altro che devo fare per forzare static.xx a usare l’indirizzo IP interno? Le immagini esterne, quando racchiuse tra parentesi, funzionano come previsto con la lightbox.

Potresti configurarlo per comunicare con un server DNS interno? Dipende dalla tua topologia di livello 3, ma questo fermerebbe tutto il traffico di loopback.

quando faccio il ping del server delle risorse ottengo l’IP interno: docker sta utilizzando un file host alternativo?

Usa ./launcher enter app per scoprirlo.

aha, ecco il problema. Risolve all’IP esterno.
root@discourse-app:/var/www/discourse# cat /etc/hosts

127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 discourse-app

Aggiunto e… successo!

Modificare il file hosts nel contenitore non è persistente tra i rebuild. È meglio risolvere i problemi della catena DNS piuttosto che applicare soluzioni temporanee.

È un problema… anche se una volta che il file è stato importato in Discourse, quello originale non sarà più referenced, giusto?