Rails + Dragonfly + Nginx - неверный корневой путь для изображений
У меня есть приложение Rails, которое использует
gem 'dragonfly-s3_data_store', '~> 1.0.0'
и загружает активы в S3.
Файлы загружаются просто отлично, но тогда они не будут отображаться. Если я смотрю на логи, я вижу это:
*150 open() "/etc/nginx/html/system/images/W1siZiIsIjIwMTUvMDUvMjEvMTgvNDIvNTUvOTEwL3ByZXNzX3Nob3J0LnBuZyJdXQ/press_short.png" failed (2: No such file or directory), client: 173.225.73.29, server: SERVERNAME, request: "GET /system/images/W1siZiIsIjIwMTUvMDUvMjEvMTgvNDIvNTUvOTEwL3ByZXNzX3Nob3J0LnBuZyJdXQ/press_short.png?sha=b4bb5663e1358837 HTTP/1.1", host: "EC2-ADDDRESS", referrer: "http://ec2-XXXX.compute-1.amazonaws.com/"
1 ответ
Решение
Так что для тех, кто может испытывать подобные проблемы. Все это связано с "verify_urls" в Dragonfly.
Вы можете найти больше ответов в этой теме:
https://github.com/refinery/refinerycms/issues/2681
В основном вам нужно либо добавить секрет в Dragonfly, либо отключить verify_urls (не рекомендуется из-за уязвимости).