Неспособность обслуживать ресурсы c через надстройку Cloudfront / EGDE - PullRequest
0 голосов
/ 25 марта 2020

Я пытался получить все свои ресурсы c для обслуживания через дополнение EDGE , доступное в Heroku. Я добавил следующие строки в мой production.rb файл

config.serve_static_assets = true
config.static_cache_control = "public, max age=2592000"
config.action_controller.asset_host = ENV["https://1a2b3c4d.cloudfront.net"]

Но, похоже, этого недостаточно. Когда я проверяю свои активы, они останавливаются через папку ресурсов. В руководстве Herokus по EDGE говорится, что добавление config.action_controller.asset_host = ENV["https://1a2b3c4d.cloudfront.net"] должно сделать это.

Я подозреваю, что мне нужно добавить что-то еще или что в моем production.rb есть что-то еще, что предотвращает обслуживание активов через EDGE, но я не знаю, что это за облако.

Мой production.rb в целом

config.cache_classes = true
config.eager_load = true
config.consider_all_requests_local       = false
config.action_controller.perform_caching = true
config.assets.js_compressor = Uglifier.new(harmony: true)
config.assets.compile = false
config.active_storage.service = :local
config.force_ssl = true
config.log_level = :debug
config.log_tags = [:request_id]
config.action_mailer.perform_caching = false
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
config.log_formatter = ::Logger::Formatter.new
config.active_record.dump_schema_after_migration = false
config.serve_static_assets = true
config.static_cache_control = "public, max age=2592000"
config.action_controller.asset_host = ENV["https://1a2b3c4d.cloudfront.net"]

Работает на рельсах 5.2.1 и ruby 2.5.1

Edit # 1 - я перезагружал приложение Heroku при развертывании нового кода.

1 Ответ

0 голосов
/ 26 марта 2020

Примечание: я заметил, что вы редактируете production.rb ... этот сервер, на котором вы работаете, не работает и помогает клиентам, верно?

Если это не так, я бы сказал ваш следующий шаг - изменить части конфигурации, которые не позволяют вашим настройкам работать.

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

Почему у вас config.serve_static_assets = true ... когда мы делаем активы с ngix, это отключено, поскольку рельсы не обслуживают активы. Также в современных приложениях rails они используют config.public_file_server.enabled, что в вашем случае должно быть «ложным».


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

  • Если ваша быстрая диагностика не удалась, разветвите приложение (до того, как вы впервые попытались внести изменение) и / или используйте промежуточную среду
  • контрольный список, завершающий каждый шаг начиная с sh начала процесса
  • получите демонстрацию рабочего скелета от кого-то другого и повторите контрольный список
  • в суть в том, что это не интеграция, это что-то в вашем собственном коде или данных ... возможно, вставьте ваши вещи в скелетную демонстрацию
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...