La página de configuración del usuario no se actualiza tras añadir o eliminar un componente de tema: ¿problema de caché con CDN?

Hola,

Si agrego o elimino componentes del tema al tema predeterminado actual, las preferencias del usuario no se actualizan en consecuencia (uno de mis componentes agrega una entrada de preferencia de usuario).

Para que se agregue (o elimine) la entrada, debo borrar la caché de mi CDN.
Tener páginas de preferencias de usuario en caché “incorrectas” también provoca errores 403 para los usuarios si desean cambiar algunas configuraciones.

Este problema no afecta a mi cuenta de administrador, pero sí a una cuenta de usuario regular que creé con fines de prueba.

¿Alguna idea sobre cómo puedo solucionarlo?

Aquí están mis configuraciones de CDN:

Mi instalación de Discourse es una instalación estándar.

Por favor, agrega tu configuración de app.yml aquí. Parece que configuraste incorrectamente todo tu dominio detrás de una CDN, por lo que esos errores son esperados.

Hola, gracias por tu respuesta.
Aquí está mi app.yml:

## esta es la plantilla del contenedor Docker Discourse todo-en-uno y autónomo
##
## Después de realizar cambios en este archivo, DEBES reconstruir
## /var/discourse/launcher rebuild app
##
## ¡TEN *MUCHO* CUIDADO AL EDITAR!
## ¡LOS ARCHIVOS YAML SON SUPER SENSIBLES A ERRORES EN LOS ESPACIOS EN BLANCO O LA ALINEACIÓN!
## visita http://www.yamllint.com/ para validar este archivo según sea necesario

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Descomenta estas dos líneas si deseas agregar Lets Encrypt (https)
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"

## ¿Qué puertos TCP/IP debe exponer este contenedor?
## Si deseas que Discourse comparta un puerto con otro servidor web como Apache o nginx,
## consulta https://meta.discourse.org/t/17247 para obtener detalles
expose:
  - "80:80"   # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Establece db_shared_buffers en un máximo del 25% de la memoria total.
  ## se establecerá automáticamente por bootstrap según la RAM detectada, o puedes sobrescribirlo
  db_shared_buffers: "2048MB"

  ## puede mejorar el rendimiento de ordenamiento, pero añade uso de memoria por conexión
  #db_work_mem: "40MB"

  ## ¿Qué revisión de Git debe usar este contenedor? (predeterminado: tests-passed)
  #version: tests-passed

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## ¿Cuántas solicitudes web concurrentes se admiten? Depende de la memoria y los núcleos de CPU.
  ## se establecerá automáticamente por bootstrap según los CPUs detectados, o puedes sobrescribirlo
  UNICORN_WORKERS: 8

  ## TODO: El nombre de dominio al que responderá esta instancia de Discourse
  ## Requerido. Discourse no funcionará con un número IP desnudo.
  DISCOURSE_HOSTNAME: unicyclist.com

  ## Descomenta si deseas que el contenedor se inicie con el mismo
  ## nombre de host (opción -h) que el especificado arriba (predeterminado "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Lista de correos electrónicos delimitados por comas que serán administradores y desarrolladores
  ## en el registro inicial, ejemplo 'usuario1@ejemplo.com,usuario2@ejemplo.com'
  DISCOURSE_DEVELOPER_EMAILS: 'canapin@gmail.com'

  ## TODO: El servidor de correo SMTP utilizado para validar nuevas cuentas y enviar notificaciones
  # DIRECCIÓN SMTP, nombre de usuario y contraseña son obligatorios
  # ADVERTENCIA: el carácter '#' en la contraseña SMTP puede causar problemas!
  DISCOURSE_SMTP_ADDRESS: smtp.gmail.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: no-reply@email.unicyclist.com
  DISCOURSE_SMTP_PASSWORD: xxx
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (opcional, predeterminado true)

  ## Si agregaste la plantilla de Lets Encrypt, descomenta abajo para obtener un certificado SSL gratuito
  LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## La dirección CDN http o https para esta instancia de Discourse (configurada para extraer)
  ## consulta https://meta.discourse.org/t/14857 para obtener detalles
  DISCOURSE_CDN_URL: https://f5i4i8k5.stackpathcdn.com

## El contenedor Docker es sin estado; todos los datos se almacenan en /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Los plugins van aquí
## consulta https://meta.discourse.org/t/19157 para obtener detalles
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-data-explorer.git
          - git clone https://github.com/paviliondev/discourse-locations
          - git clone https://github.com/davidtaylorhq/discourse-whos-online

## Cualquier comando personalizado para ejecutar después de la compilación
run:
  - exec: echo "Inicio de comandos personalizados"
  ## Si deseas establecer la dirección de correo electrónico 'De' para tu primer registro, descomenta y cambia:
  ## Después de obtener el primer correo electrónico de registro, vuelve a comentar la línea. Solo necesita ejecutarse una vez.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Fin de comandos personalizados"

Tu DNS es incorrecto.

unicyclist.com debería ser un registro A con la IP de tu VPS, pero está apuntando a una IP de StackPath.