Amazon виджет и SSL - PullRequest
       31

Amazon виджет и SSL

10 голосов
/ 08 октября 2010

Я пытаюсь встроить виджет Amazon "Рекомендуемый продукт" в веб-сайт. Мы используем SSL на всех страницах сайта.

К сожалению, виджет Amazon по умолчанию встроен с использованием простого IFrame, и хотя источником для IFrame может быть https://, изображения и ссылки внутри IFrame всегда http://

Пример кода IFrame

<iframe src="https://rcm-uk.amazon.co.uk/e/cm?t=june2k&o=2&p=16&l=st1&mode=books-uk&search=potter&f=ifr&f=ifr"
        width="468"
        height="336"
        border="0"
        frameborder="0"
        style="border:none"
        marginwidth="0"
        marginheight="0"
        scrolling="no"></iframe>

Излишне говорить, что это приводит к предупреждению «небезопасный контент», сломанным замкам и т. Д.

Пока единственное решение, которое мне удалось найти, - это получить содержимое IFrame с помощью сервера, проанализировать его и переписать все ссылки на изображения, чтобы они указывали на локальный обработчик, который в свою очередь проксирует изображений. Это кажется хрупким подходом с большими накладными расходами на обработку. Это просто противно.

У кого-нибудь есть опыт с этим? Есть ли здесь метод, который мне не хватает? Могу ли я заставить Amazon вернуть действительные https:// URL-адреса?

Если я изменяю URL-адреса изображений с http на https in-situ, я получаю ошибку несоответствия сертификата - кажется, изображения подаются из CDN Akamai, и общее имя для сертификата не является именем хоста, используемым для служить изображения.

Мне трудно поверить, что такая электронная коммерческая компания, как Amazon, не в состоянии обслуживать защищенную страницу.

Любая помощь с благодарностью.

1 Ответ

21 голосов
/ 10 октября 2010

После долгих поисков я обнаружил версию виджета на сайте Amazon, которая работала в режиме SSL без ошибок.

После просмотра src IFrame у URL-адреса есть дополнительный параметр internal=1,Я нигде не видел этого документированного, но, похоже, он говорит виджету обслуживать изображения из сети Amazon вместо сети Akamai, и SSL поддерживается.

URL должен выглядеть следующим образом:

https://rcm -uk.amazon.co.uk / e / cm? T = june2k & o = 2 & p = 16 & l = st1 & mode = books-uk & search = potter & f = ifr & f = ifr & internal = 1

...