Внешний (размещенный в CDN) URL-адрес запроса изображения, перезаписанный в IE8 на странице холста через https, запрашивает proxy.php

У меня есть приложение на основе холста в Facebook с множеством изображений для загрузки, поэтому я создаю их на JavaScript.

var img = new Image();
img.src = document.location.protocol + '//example.cloudfront.net/example_path/example.png';

Изображения размещены на CDN Amazon, их базовый URL-адрес похож на:

https://example.cloudfront.net/example_path/example.png

URL-адрес приложения, размещенного в облаке (EC2, также Amazon), похож на:

https://cloud.example.com/path_to_app/

Он работает в большинстве браузеров, но не в IE (8).

В IE, если я проверяю свойство src созданного изображения, он показывает правильный URL-адрес, но браузер делает следующий запрос:

GET /path_to_app/proxy.php?url=https://example.cloudfront.net/example_path/example.png HTTPS/1.1

На моем сервере нет proxy.php, и в моем коде нет слова «прокси», ни на стороне клиента, ни на стороне сервера.

Есть ли что-то, чего я не знаю о размещенном извне контенте на странице холста iframe, обслуживаемом через https?


person k0dek0mmand0    schedule 30.09.2011    source источник


Ответы (1)


Я нашел проблему.

Я использую flashcanvas в IE для имитации элемента ‹canvas›. У Flash есть проблемы с безопасностью междоменного доступа к ресурсам, поэтому апплет запрашивает их через прокси-скрипт php (фактически включенный в дистрибутив, смеется).

Проблема была в том, что исходный код flashcanvas свернут / запутан, поэтому строка «прокси» не видна.

person k0dek0mmand0    schedule 01.10.2011