Призрачное имя хоста после смены имени хоста

Привет от нового пользователя Discourse с хостингом. :wave:

Постановка проблемы:

  1. После установки и настройки я изменил доменное имя, выполнив все необходимые изменения (DNS Cloudflare, app.yml, имя хоста droplet, новые SSL-сертификаты, пересборка Docker и т. д., и т. д., и т. д.).
  2. Всё работало нормально.
  3. До момента: Активация резервных копий S3 вызывает ошибку 500 при посещении /admin/backups.
  4. В /admin/logs сообщается: certificate verify mismatch (Hostname mismatch).
  5. При переключении обратно на локальные резервные копии всё работает нормально.

Вопрос:

  • Где может скрываться исходное имя хоста? Я знаю, что вы не можете сказать мне, что я забыл, но, возможно, вы сможете перечислить, где находятся эти настройки.

Для сведения:

Seahorse::Client::NetworkingError (SSL_connect returned=1 errno=0 peeraddr=162.243.189.2:443 state=error: certificate verify failed (Hostname mismatch))
lib/s3_helper.rb:426:in `s3_bucket'
lib/s3_helper.rb:240:in `list'
lib/backup_restore/s3_backup_store.rb:122:in `unsorted_files'
lib/backup_restore/backup_store.rb:23:in `files'
app/controllers/admin/backups_controller.rb:24:in `block (2 levels) in index'
app/controllers/admin/backups_controller.rb:13:in `index'
app/controllers/application_controller.rb:412:in `block in with_resolved_locale'
app/controllers/application_controller.rb:412:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:368:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:202:in `call'

Смотрите Изменение доменного имени или переименование вашего Discourse. Убедитесь, что Cloudflare работает только в режиме DNS.

Спасибо, Джей, за ссылку. Я ещё не нашёл эту тему. :slight_smile:

Исходя из ваших подсказок и той связанной темы, я сделал следующее:

  1. Отключил Cloudflare и через DNSChecker.org подтвердил, что мои A-записи указывают на IP-адрес моего Droplet в DO.
  2. Ещё раз проверил app.yml (всё было в порядке).
  3. Зашёл в контейнер приложения и выполнил discourse remap со старого домена на новый; изменения были внесены. Для подтверждения я запустил команду второй раз, и она завершилась без изменений.
  4. Рекурсивно поискал старый домен внутри и вне контейнера приложения с помощью grep, но ничего не нашёл.
  5. Пересобрал приложение и изучил команду docker run. Проблем не обнаружено.
  6. Зашёл в админку и переключил резервное копирование с локального на S3.
  7. Продолжал получать ошибку 500, как и раньше. :crying_cat_face:
  8. Вернул резервное копирование на локальное, и всё снова заработало.
  9. Включил Cloudflare и подтвердил, что проксирование снова работает.

Я чувствую, что зашёл в тупик, и по сути :man_shrugging:

Бритва Оккама

Решено:

  • В /admin/site_settings/category/files
  • Конечная точка S3 не должна включать имя бакета :person_facepalming:

Теперь это кажется очевидным