2015-01-09 3 views
0

У меня есть сайт, находящийся под SSL, и он загружает данные со стандартного http-сайта, используя jquery ajax. Я контролирую оба сайта и устанавливаю междоменную политику.Ошибка загрузки jquery ajax с сайта https

Это было хорошо, но внезапно остановилось без причины.

Мой SSL сайт загружает данные с помощью:

$('#targetDiv').load('http://www.example.com .stuff'); 

Он работает под HTTP, но не под HTTPS. В Chrome я получаю следующее сообщение об ошибке:

Mixed Content: The page at 'https://www.secure-site-example.com' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://www.example.com/'. This request has been blocked; the content must be served over HTTPS. 

Теперь я понимаю, что это жалуется мне, используя HTTP в нагрузке() из защищенного сайта. То, что я не понимаю, это то, что он внезапно прекратил работать.

Имеет ли Chrome и/или другие браузеры обновленную систему безопасности в последнее время? Если да, есть ли способ обойти эту проблему, не приобретая сертификат SSL на www.example.com?

Спасибо.

+0

Как вы можете видеть из-за ошибки, вы блокируетесь SOP из-за того, что протоколы домена отличаются друг от друга. Если вы установили CORS в домене, вам нужно добавить заголовок вручную. Для этого используйте '$ .ajax' вместо' load() 'и установите соответствующие заголовки. –

+0

Спасибо за ответ. Когда вы говорите, установите соответствующие заголовки, что вы имеете в виду? И это что-то новое, что только что выгнали? –

+0

Нет, политика «того же происхождения» (http://en.wikipedia.org/wiki/Same-origin_policy) существует уже давно. Я предположил, что вы уже создали домен для CORS, поскольку вы заявили, что «оба сайта настроили политику перекрестного домена» –

ответ

0

Чтобы ответить на мой собственный вопрос. Это похоже на проблему безопасности, специфичную для браузера. Подозреваемый Chrome за последние несколько месяцев установил настройку безопасности, поэтому причина этого была.

Вышеупомянутый ajax работает в Firefox, если вы подтверждаете, что хотите, за исключением заблокированного контента.

Мне нужно найти способ обойти загрузку ajax по нескольким протоколам. Ну, дайте мне кое-что, я думаю :)

Смежные вопросы