Смешанный контент в Chrome и IE
На моем сайте, поддерживающем HTTPS, я добавил iframe, который должен показывать контент с моего другого сайта, но он не работает под https.
<iframe src="//myothersite.com"></iframe>
В последней версии Firefox все работает хорошо.
В Chrome iframe не загружается, и в консоли я вижу эти две ошибки
Mixed Content: The page at 'https://mysite' was loaded over HTTPS, but requested an insecure resource 'http://myothersite.com'.
This request has been blocked; the content must be served over HTTPS.
Failed to load resource: net::ERR_CACHE_MISS
В загрузке содержимого IE неправильно, и я вижу предупреждающее сообщение; если я нажму "Разрешить небезопасное содержимое", он загрузится правильно.
Вопрос: как я могу сделать этот IE и Chrome как в Firefox (загружать смешанный контент без каких-либо предупреждений)?
Примечание. Я не изменил настройки браузера.
Ответы
Ответ 1
Фактически Firefox начал делать то же самое: Как исправить сайт с заблокированным смешанным контентом
Это имеет смысл. Если пользователь получает доступ к сайту с использованием HTTPS, ожидается, что он будет иметь безопасный опыт, и он может не знать о частях загрузки приложения в небезопасных соединениях. Именно поэтому браузер блокирует такую несогласованность.
Вам нужно будет предоставить HTTPS на myothersite.com.
Ответ 2
Очевидно, что лучше не смешивать контент для предотвращения атак MITM, но для тех, кто не может контролировать URL-адрес, это должно сделать трюк:
Измените src= "http://linkToUrl.com" на
src= "//linkToUrl.com/ script.js"
Ответ 3
введите здесь описание изображения
когда я устанавливаю URL:
<a href="http://127.0.0.1:8080/download/1.txt"></a>
из запроса https, он сообщает об ошибке:
Смешанное содержимое: страница в 'https://127.0.0.1/index.html'
была загружена через HTTPS, но запросила небезопасный ресурс 'http://127.0.0.1:8080/download/1.txt'
.
This request has been blocked; the content must be served over HTTPS.
Failed to load resource: net::ERR_CACHE_MISS
когда я добавил target="_blank"
к URL: <a target="_blank" href="http://127.0.0.1:8080/download/1.txt">
, он работает!, оно работает!
хорошо известно, что target="_blank"
означает открытие связанного документа в новом окне или вкладке или в новом запросе!
Ответ 4
Мне жаль, что это не так сложно, как другие ответы, но у меня была такая же проблема, связанная с jsquery, как это, и для меня это было исправлено, просто изменив http://
на https://
. Это может не сработать, но это сработало для меня, и это может сработать для вас.
Ответ 5
Проблема заключается в смешанном содержании, браузер не позволит нам просто сделать это.
Вам нужно изменить URL-адрес:
http://example.com
к
//example.com