Страница настроек пользователя не обновляется после добавления или удаления компонента темы: проблема кэширования с CDN?

Привет,

Если я добавляю или удаляю компоненты темы в текущей теме по умолчанию, предпочтения пользователей не обновляются соответствующим образом (один из моих компонентов добавляет поле ввода для предпочтений пользователя).

Чтобы поле ввода было добавлено (или удалено), мне приходится очищать кеш CDN.
Наличие страниц с предпочтениями пользователей в кеше с неверными данными также приводит к ошибке 403, если пользователь хочет изменить некоторые настройки.

Эта проблема не затрагивает мою учётную запись администратора, но влияет на обычную учётную запись, которую я создал для тестирования.

Есть ли идеи, как это исправить?

Вот мои настройки CDN:

Мой Discourse установлен стандартным способом.

Пожалуйста, добавьте сюда ваш файл конфигурации app.yml. Похоже, что вы по ошибке разместили весь ваш домен за CDN, поэтому эти ошибки ожидаемы.

Привет, спасибо за ответ.
Вот мой app.yml:

## это шаблон автономного контейнера Docker Discourse "всё в одном"
##
## После внесения изменений в этот файл вы ОБЯЗАНЫ выполнить пересборку
## /var/discourse/launcher rebuild app
##
## БУДЬТЕ *ОЧЕНЬ* ОСТОРОЖНЫ ПРИ РЕДАКТИРОВАНИИ!
## YAML-ФАЙЛЫ ЧРЕЗВЫЧАЙНО ЧУВСТВИТЕЛЬНЫ К ОШИБКАМ В ПРОБЕЛАХ И ВЫРАВНИВАНИИ!
## при необходимости проверьте этот файл на сайте http://www.yamllint.com/

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Раскомментируйте эти две строки, если хотите добавить Lets Encrypt (https)
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"

## какие TCP/IP-порты должен открывать этот контейнер?
## Если вы хотите, чтобы Discourse использовал тот же порт, что и другой веб-сервер, например Apache или nginx,
## см. https://meta.discourse.org/t/17247 для деталей
expose:
  - "80:80"   # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Установите db_shared_buffers максимум на 25% от общего объёма памяти.
  ## будет установлено автоматически при загрузке на основе обнаруженного объёма ОЗУ, либо вы можете переопределить
  db_shared_buffers: "2048MB"

  ## может улучшить производительность сортировки, но увеличивает использование памяти на соединение
  #db_work_mem: "40MB"

  ## Какую ревизию Git должен использовать этот контейнер? (по умолчанию: tests-passed)
  #version: tests-passed

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

  ## Сколько одновременных веб-запросов поддерживается? Зависит от объёма памяти и количества ядер CPU.
  ## будет установлено автоматически при загрузке на основе обнаруженного количества CPU, либо вы можете переопределить
  UNICORN_WORKERS: 8

  ## TODO: Доменное имя, на которое будет реагировать этот экземпляр Discourse
  ## Обязательно. Discourse не будет работать с чистым IP-адресом.
  DISCOURSE_HOSTNAME: unicyclist.com

  ## Раскомментируйте, если хотите, чтобы контейнер запускался с тем же
  ## именем хоста (опция -h), что указано выше (по умолчанию "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Список email-адресов через запятую, которые станут администраторами и разработчиками
  ## при первой регистрации, например 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'canapin@gmail.com'

  ## TODO: SMTP-сервер, используемый для проверки новых учётных записей и отправки уведомлений
  ## Адрес SMTP, имя пользователя и пароль обязательны
  # ВНИМАНИЕ: символ '#' в пароле SMTP может вызвать проблемы!
  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           # (необязательно, по умолчанию true)

  ## Если вы добавили шаблон Lets Encrypt, раскомментируйте ниже, чтобы получить бесплатный SSL-сертификат
  LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## Адрес CDN по протоколу http или https для этого экземпляра Discourse (настроен на получение)
  ## см. https://meta.discourse.org/t/14857 для деталей
  DISCOURSE_CDN_URL: https://f5i4i8k5.stackpathcdn.com

## Контейнер Docker не имеет состояния; все данные хранятся в /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Плагины размещаются здесь
## см. https://meta.discourse.org/t/19157 для деталей
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

## Любые пользовательские команды для запуска после сборки
run:
  - exec: echo "Начало пользовательских команд"
  ## Если вы хотите установить адрес email в поле 'From' для вашей первой регистрации, раскомментируйте и измените:
  ## После получения первого email регистрации закомментируйте строку обратно. Выполнять нужно только один раз.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Конец пользовательских команд"

Ваш DNS настроен неверно.

unicyclist.com должен быть записью A с IP-адресом вашего VPS, но сейчас указывает на IP-адрес StackPath.