Build signed object URLs as path-only (/api/objects/...) instead of prefixing APP_BASE_URL, so media loads from whatever host or reverse proxy served the app. Remove the now-unused base URL from the signer and drop the APP_BASE_URL / Server.BaseURL config.
1.5 KiB
1.5 KiB
Spec Delta
ADDED Requirements
Requirement: Хост-независимые URL объектов
Выдаваемый клиенту подписанный URL объекта SHALL быть относительным к текущему источнику (same-origin) и SHALL не содержать настроенный хост. Просмотр и скачивание медиа SHALL работать за любым хостом или обратным прокси без настройки внешнего базового URL.
Scenario: Другой хост
- WHEN приложение доступно по адресу, отличному от адреса по умолчанию, и клиент запрашивает фото
- THEN URL объекта указывает на тот же источник, что и страница, и превью загружается без дополнительной настройки
Scenario: Обратный прокси
- WHEN приложение доступно за обратным прокси
- THEN URL объектов сохраняют тот же источник, что и страница приложения
Scenario: Подпись сохраняется
- WHEN клиент получает относительный URL объекта
- THEN подпись, срок действия и кэширование объекта работают как прежде