Oggi ho provato ad aggiungere un secondo server per ospitare una delle nostre istanze di Discourse. Il container è configurato per utilizzare server Redis, Postgres e di archiviazione esterni: si tratta solo dell’applicazione web. Fino ad ora abbiamo gestito i siti su un singolo server dietro HAProxy senza problemi. Quando eseguiamo due server dietro HAProxy, notiamo molti errori 404 da parte di nginx per i file JS. Rimuovendo uno dei due server da HAProxy il problema si risolve. Gli URL dei file che restituiscono 404 sembrano identici, quindi non capisco perché non vengano serviti da entrambi i server.
Non ci sono sovrascritture nelle impostazioni Sviluppatore. Stiamo eseguendo la versione stabile 2.4.3.
Tuttavia, ogni container conserva le proprie copie delle risorse generate dallo step assets:precompile. È necessario condividere le risorse precompilate?
Oltre ad aggiungere e rimuovere backend in HAProxy, cosa hai fatto per testarlo?
La configurazione di HAProxy utilizza backend casuali o affinità? L’errore 404 viene registrato da HAProxy? Viene registrato da nginx? È il primo o il secondo backend che genera l’errore? Il tuo sito richiede il login? Riesci a riprodurre gli errori quando ti connetti direttamente a nginx dal server dietro il proxy? I file richiesti esistono sul disco? Si tratta di tutti i file JS o solo di alcuni specifici?