CDN: пересылка на другой ресурс вместо перенаправления

Мне нужно отправлять разные ресурсы (особенно изображения) для одних и тех же URL-адресов в зависимости от сложной логики, основанной на разных факторах (cookie, IP, время, случайность). Я хочу воспользоваться преимуществами CDN (кеш, доступность, близость). Итак, я хочу, чтобы этот CDN совершал вызов на мой сервер, чтобы решить, какой ресурс обслуживать любой запрос. Очень важно не использовать перенаправления, поэтому пользователь никогда не увидит код состояния 30X.

В целях разъяснения:

  • Пользователь делает запрос к http://resources.mydomain.com/img/a.jpg, какой домен находится в CDN
  • CDN звонит на мой сервер, отправляет запрошенные URL, куки и IP пользователя
  • Мой сервер возвращает имя реального ресурса для обслуживания ( http://hidden.mydomain.com/img/a-version3.jpg)
  • CDN запрашивает этот образ, если не в кеше
  • CDN отвечает на запрос пользователя, отправляющий данные a-version3.jpg, но без перенаправления

Возможно ли использовать какое-либо текущее коммерческое решение?

2 ответа

Вы можете включить Redirect Chasing, чтобы получить то, что вы ищете. В качестве альтернативы, посмотрите сообщение в блоге Akamai об Edge Redirect для более быстрого выбора.

Да, я думаю, что он уже давно поддерживается CDNetworks.

Теперь он называется "Контроль исходной логики". Вы можете проверить описание на http://www.cdnetworks.com/wp-content/uploads/2013/08/CDNetworks-ContentAccel-DS-EN2.pdf:

Позволяет домену клиента требовать проверки с источником на каждый запрос.

Вы можете вернуть специальный HTTP-заголовок (или специальное тело HTTP, я не уверен сейчас), чтобы сообщить CDNetworks, что нужно возвращать ресурсы напрямую (и использовать кэшированную версию, если она доступна), а не 30-кратный код состояния.

Другие вопросы по тегам