3

Я генерирую подписанные URL-адреса на моем webapp (nodejs), используя библиотеку knox nodejs. Однако возникает проблема, что для каждого запроса мне нужно восстановить уникальный подписанный URL-адрес GET для текущего пользователя, оставив кеш-контроль браузера вне игры.S3, Подписанные URL-адреса и кэширование

Я искал сеть без успеха, поскольку браузеры, похоже, используют полный URL-адрес в качестве ключа кеширования, поэтому мне очень интересно, как я могу, при данных обстоятельствах (nodejs, knox library) решить проблему и использовать кеширование при этом все еще можно создавать подписанные URL-адреса для каждого запроса, поскольку мне нужно проверить права доступа пользователя.

Не могу поверить, что в этом нет решения.

+0

Одно из предложений: оставить часть подписи из URL, а также добавить заголовки НТТР для проверки подлинности. –

+0

Мне любопытно, что это возможно вообще с библиотекой knox, но – anderswelt

ответ

0

Если вы используете CloudFront с S3, вы можете использовать специальную политику, если вы ограничиваете каждый URL-адрес IP-адресом пользователя и достаточно длинным таймаутом, это означает, что когда они снова запросят один и тот же контент, они получат тот же URL-адрес и, следовательно, их браузер может кэшировать контент, но URL-адрес не будет работать для кого-то другого (на другом IP-адресе).

(см: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-custom-policy.html)

+0

Это не сработает для меня, так как пользователи могут часто менять свой IP-адрес :( – anderswelt