Foro descontrolado - posiblemente después de la actualización

Publicación larga…

Hace un par de días migré mi foro a un nuevo servidor. La migración fue bien y los usuarios pudieron iniciar sesión y usarlo con normalidad. Sin embargo, después de 2-3 horas, los usuarios conectados descubrieron que no podían usarlo. Al principio no vi el problema, pero en 10-15 minutos descubrí que mi cuenta también se vio afectada. Lo que veía era la página del foro repetida en la página pero con el contenido faltante… así que encabezado… un poco de texto… encabezado de nuevo… un poco de texto de nuevo… encabezado de nuevo… etc.

Asumí que algo había salido mal con la migración, así que como había muy pocas publicaciones desde la migración y todavía tenía el servidor antiguo disponible, simplemente inicié el foro en el servidor antiguo y apunté DNS de nuevo a ese. Eso me daría tiempo para averiguar qué salió mal e intentar la migración de nuevo.

Luego, hoy, mi foro ‘antiguo’ me pidió que dijera que se necesitaban actualizaciones críticas. Las apliqué y las cosas parecían estar bien. Sin embargo, una o dos horas después, el foro antiguo ahora presenta el mismo problema de visualización extraño que tenía mi foro migrado.

Así que ahora estoy pensando que hay algo mal después de la actualización. El servidor migrado habría captado el último código cuando se construyó, por lo que mostró el problema de inmediato. El foro antiguo solo recibió las actualizaciones hoy y comenzó a volverse ‘loco’ poco después.

Hasta ahora he intentado sin éxito:

  1. ./launcher rebuild app
  2. Comentar todos los plugins en app.yml y ./launcher rebuild app
  3. Ejecutando en modo seguro con todas las opciones activadas
  4. Borrando la caché del navegador
  5. Probé diferentes navegadores (Chrome, Edge, Firefox y Opera)

El problema parece ser progresivo para los usuarios conectados. Inicié sesión con una cuenta de prueba hoy y esa no mostró el problema, pero cuando lo intenté en el servidor migrado, la cuenta de prueba finalmente mostró los mismos problemas. Desafortunadamente, no puedo intentar nada más en este momento porque mi cuenta de administrador muestra el problema, por lo que es inutilizable.

Tengo una copia de seguridad de antes de la actualización, pero sospecho que eso no va a ayudar. Si reconstruyo el foro, captará las últimas actualizaciones, así que si restauro el contenido en ese, probablemente volverá a volverse loco en unas pocas horas.

Configuración del servidor:

Debian 12 ejecutando Docker Swarm v26.1.4. 120 GB de espacio en disco disponible. 64 GB de RAM con solo unos 20 GB actualmente en uso. Las conexiones al servidor son a través de Cloudflare Tunnels. El servidor antiguo tiene menos espacio en disco y memoria disponibles, pero ninguno está al máximo.

Estoy tratando de pensar qué más puedo hacer ahora para intentar que las cosas vuelvan a estar en línea. ¡Estoy abierto a sugerencias!

¿Minificar automáticamente quizás?

6 Me gusta

Gracias por la sugerencia.

Estaba activado. No estoy seguro de por qué, ya que normalmente no lo activo. Lo he desactivado (JS, CSS y HTML), pero sigo viendo las páginas repetidas desplazándose por la pantalla.

PD. Tomo nota de que la minificación automática de Cloudflare será obsoleta a principios de agosto.

¿Has seguido las instrucciones para borrar también la caché de Cloudflare?

1 me gusta

Sí. La caché de Cloudflare (y la caché del navegador) se ha limpiado después de desactivar la minificación automática.

1 me gusta

En ese caso, te recomendaría revisar la consola de desarrollador del navegador para ver si hay algún error cuando ocurre el problema.

También podrías intentar el modo seguro de nuevo ahora que has solucionado el problema de Cloudflare.

1 me gusta

El modo seguro funciona ahora. No hay errores en la consola de JS, excepto una advertencia de depreciación de zona horaria. Voy a volver al tema predeterminado y deshabilitar todos los componentes del tema para ver si funciona bien fuera del modo seguro y luego los volveré a habilitar uno por uno para ver si puedo reducirlo.

Tardaré un poco antes de poder confirmar cómo van las cosas porque ¡el taxi de papá tiene que hacer un viaje!

1 me gusta

Parece que la minificación automática fue la culpable. No sé cómo/cuándo se activó. No lo hice a sabiendas, ya que he tenido problemas similares con otros sistemas en el pasado. Sospecho que Cloudflare añadió recientemente (creo) un botón para activar un conjunto de configuraciones básicas para mejorar la forma en que los navegadores interactuaban con los sitios web. Revisé los cambios sugeridos y activé aquellos que parecían sensatos y seguros. He vuelto a revisar las opciones y no veo ninguna referencia a la minificación automática, pero quizás se activó como parte de la ‘configuración básica’.

La caché de Cloudflare también explica por qué este problema apareció de repente horas después de haber aplicado las actualizaciones de Discourse. Tengo la caché de TTL del navegador de Cloudflare configurada en 4 horas. No purgué la caché de Cloudflare después de actualizar, por lo que durante unas horas después, la gente seguía obteniendo los archivos ‘buenos’ antiguos que habían estado obteniendo durante semanas desde la última actualización de Discourse. Luego, después de 4 horas, Cloudflare comenzó a actualizar su propia caché, vio los nuevos archivos de Discourse y los minificó antes de añadirlos a su caché. Luego, a medida que los navegadores solicitaban actualizaciones para sus propias cachés, obtenían los archivos corruptos. Como los navegadores actualizaban sus propias cachés en diferentes momentos, cada usuario veía que las cosas salían mal en diferentes momentos.

Lecciones aprendidas:

  1. Purgar la caché de Cloudflare después de aplicar una actualización de Discourse. ¡Parece obvio ahora, pero no lo había pensado antes!
  2. No habilitar la minificación automática. Debí haberlo hecho, pero no sé cómo/cuándo. Ya sabía que no era una buena idea, ya que había roto un sitio de Wordpress con él hace algún tiempo, pero esto ha reforzado el mensaje.

Muchas gracias a @JammyDodger y @david por ayudarme a resolver esto :smiley:

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.