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.
21 lines
1.5 KiB
Markdown
21 lines
1.5 KiB
Markdown
# 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** подпись, срок действия и кэширование объекта работают как прежде
|