Назад | Перейти на главную страницу

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;
        }
        }

Затем в Iframe мы дали 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>

Но в 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. Кто-нибудь может нам помочь?

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

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

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