Возможная проблема с Javascript при размещении файлов скинов в CDN - PullRequest
3 голосов
/ 12 июля 2011

Я недавно настроил CDN через Nexcess, нашего хостинг-провайдера, для нашего магазина Magento.Первоначально я делал это только для медиа-изображений, но недавно переместил файлы темы / обложки поверх CDN.Кажется, это прекрасно работает на веб-интерфейсе, но я заметил проблему в админке.Если я пытаюсь загрузить изображения продукта, произойдет сбой после выбора файла во всплывающем окне.Он никогда не показывает мне дополнительное поле, в котором я выбираю тип изображения и завершаю загрузку.Это проблема, только когда небезопасный URL-адрес обложки направлен на CDN.Если я снова укажу это локально, все будет нормально.

Я предполагаю, что это как-то связано с JavaScript, который находится в папках скина.Некоторые JS основаны на темах, а не находятся в корневой папке js/, и я знаю, что иногда может быть проблема с удаленным размещением JavaScript.Наш CDN URL находится в нашем поддомене, поэтому я думаю, что все будет в порядке, но я просто недостаточно знаю об этом.

Кто-нибудь сталкивался с этой или подобной проблемой?Есть идеи?

Ответы [ 3 ]

5 голосов
/ 12 июля 2011

@ clockworkgeek прав, это связано с ограничением безопасности (я полагаю, XSS).Один из вариантов, который не требует установки модуля, состоит в том, чтобы указать, что только ваш веб-сайт обслуживает JS из CDN, что означает, что JS на стороне администратора будет исходить от сервера, предотвращая проблему XSS.

Чтобы добиться этого, измените область веб-сайта в разделе System> Config> Web администратора в своем веб-магазине, снимите флажок «Use Website» и установите «Base JavaScript URL» для CDN.Измените область действия обратно на «Конфигурация по умолчанию» и установите для «Базового URL-адреса JavaScript» значение {{unsecure_base_url}}js/

Надеюсь, это поможет,
JD

3 голосов
/ 27 февраля 2014

Есть более простое решение. Вы можете иметь разные базовые URL для бэкэнда и веб-сайтов Хотя серверная часть Magento всегда использует область конфигурации по умолчанию, отдельные веб-сайты могут отличаться.

  1. Перейдите в Система> Общие> Интернет> Небезопасные. Убедитесь, что текущая область конфигурации по умолчанию
  2. URL базового скина = {{unsecure_base_url}} скина /
  3. Base Media URL = ваш CDN URL для мультимедиа
  4. Базовый URL JavaScript = {{unsecure_base_url}} js /
  5. Сохранить конфигурацию
  6. Изменить текущую область конфигурации на предпочитаемый вами сайт
  7. URL базового скина = ваш CDN URL для статического
  8. Base Media URL = ваш CDN URL для мультимедиа
  9. Базовый URL JavaScript = ваш CDN URL для статического

Нет проблем с кнопкой загрузки

2 голосов
/ 12 июля 2011

Я испытал это, и это вызвано проверкой безопасности (? !!) во флэш-загрузчике. Домены базы, ссылки, обложки и мультимедиа должны быть одинаковыми для его продвижения.

Быстрое решение - использовать Без Flash Image Uploader .

Из того, что я помню из lib/flex/uploader исходных файлов (они тоже с открытым исходным кодом) должны совпадать только домены администратора. Администратор использует «глобальную» конфигурацию, поэтому вы можете попробовать поместить данные CDN только в область «веб-сайт». Для переключения между ними используйте поле выбора «Область конфигурации» в верхнем левом углу страницы конфигурации.

...