URL не указывает на https в iframe

На нашем сайте мы загружаем функцию api calnedar, которая работает на http (cdn.instantcal.com) . При загрузке этого сайта на нашем WordPress сайте с https он не работает и появляется ошибка:

"Смешанный контент: страница по адресу https://www.geo.com/wp-admin/post.php?post=362&action=edit" была загружена через HTTPS, но запросил небезопасный ресурс " http://cdn.instantcal.com/cvj.html'. Этот запрос был заблокирован; контент должен передаваться по HTTPS."

Чтобы исправить проблему смешанного iframe на нашем прокси-сервере Nginx, мы настроили новый сайт на https calendar.geopc.com, и он прокси на cdn.instantcal.com.

server {
  listen 443;
  server_name calendar.geopc.com;
location / {
    proxy_pass      http://cdn.instantcal.com;
                        proxy_set_header Host      cdn.instantcal.com;
                       proxy_set_header X-Real-IP $remote_addr;
        }
        }

Тогда в Ифраме мы дали URL как

<iframe id="cv_if5"
 src="https://calendar.geopc.com/cvir.html?id=citus.com%2F60dcfe0d8c42638%2Fcalendar.ics&amp;theme=RE&amp;ccolor=%23ffffc0&amp;dims=1&amp;gtype=cv_daygrid&amp;gcloseable=0&amp;gnavigable=1&amp;gperiod=day7&amp;itype=cv_simpleevent"
 width="780" height="600" frameborder="0" scrolling="no"></iframe>

Но в Ифраме мы получаем ту же ошибку

Смешанный контент. Страница по адресу https://www.geo.com/wp-admin/post.php?post=362&action=edit была загружена через HTTPS, но запросил небезопасный ресурс http: //calendar.geopc. com / cvj.html? idcloseable = 0 & gnavigable = 1 & gperiod = da'. Этот запрос был заблокирован; содержание должно быть подано по HTTPS.

Когда мы обращаемся непосредственно к URL calendar.geopc.com по https, он нормально работает по https. Но, пожалуйста, дайте мне знать, в чем проблема? Это на Iframe или на Nginx. Кто-нибудь может помочь нам?

1 ответ

Первая проблема заключалась в том, что исходным URL-адресом iframe был HTTP-URL, который блокируется браузерами при запросе со страницы HTTPS. С вашим proxy_pass Во- первых, URL-адрес источника iframe - это HTTPS-URL, который устраняет одну часть проблемы.

Однако код, загруженный из службы календаря через прокси-сервер, запрашивает дополнительные ресурсы, и они имеют прямые URL-адреса к своей исходной службе, которые запрашиваются по HTTP.

Вам нужно получить службу календаря, которая поддерживает HTTPS, или реализовать свой собственный, другого способа решить эту проблему нет.

Другие вопросы по тегам