feat: добавить генерацию image variants
- добавлен shared config presets, custom transforms и allowlist hosts - реализованы Backend endpoints для assets, presets и variants - добавлена orchestration через PostgreSQL, RabbitMQ, S3 и worker - обновлён Gateway read-through flow с L1 cache и корректным Vary: Accept - добавлена миграция resize_mode для variants lookup - обновлены dev scripts, env template, lockfile и документация
This commit is contained in:
@@ -18,7 +18,7 @@ IMGPROXY_SALT=
|
||||
Пример path:
|
||||
|
||||
```text
|
||||
/unsafe/resize:fit:800:0:0/q:80/plain/https://example.com/photo.jpg
|
||||
/unsafe/resize:fit:800:0:0/q:80/plain/https://storage.yandexcloud.net/shared1318/img/1.jpg
|
||||
```
|
||||
|
||||
## Prod режим
|
||||
@@ -28,7 +28,7 @@ IMGPROXY_SALT=
|
||||
Path для подписи строится без `/unsafe`:
|
||||
|
||||
```text
|
||||
/resize:fit:800:0:0/q:80/plain/https://example.com/photo.jpg
|
||||
/resize:fit:800:0:0/q:80/plain/https://storage.yandexcloud.net/shared1318/img/1.jpg
|
||||
```
|
||||
|
||||
Signature:
|
||||
@@ -66,6 +66,6 @@ Final signed URL:
|
||||
- Source URL валидировать в Backend/worker.
|
||||
- Разрешать только `http` и `https`.
|
||||
- Запрещать localhost, private IP, loopback, link-local.
|
||||
- Source host должен быть enabled в `allowed_image_hosts`.
|
||||
- Не давать клиенту произвольные imgproxy options.
|
||||
- Использовать presets и deterministic `variantHash`.
|
||||
- Source host должен быть разрешён mock allowlist `SOURCE_ALLOWED_HOSTS`; таблица `allowed_image_hosts` остаётся для будущего CRUD.
|
||||
- Не давать клиенту произвольные imgproxy options без `IMAGE_ALLOW_CUSTOM_TRANSFORMS=true`.
|
||||
- Использовать static presets/custom normalization и deterministic `variantHash`.
|
||||
|
||||
Reference in New Issue
Block a user