Встраивание метабазы ​​- контент должен обслуживаться по HTTPS

В моем локальном (http) встроенном инструменте метабазы ​​просто работает нормально, но когда я пробую его на работе (https), я получаю эту ошибку консоли:

Смешанный контент: страница в ‘https://my-production-domain.com/‘ было
загружен через HTTPS, но запросил небезопасный ресурс
http://my-metabase-domain.com/embed/dashboard/myjwttoken#bordered=true&под названием = верно».
Этот запрос был заблокирован; содержание должно быть подано через HTTPS

PHP:

$key = 'my_secret_key';
$url = 'http://my-metabase-domain.com';

$resource = array(
'dashboard' => 5
);
$params = array(
'user_id' => null
);

$token = (new Builder())
->set('resource', $resource)
->set('params', $params)
->sign(new Sha256(), $key)
->getToken();

В HTML:

<script src="<?php echo $url; ?>/app/iframeResizer.js"></script>
<iframe src="<?php echo $url; ?>/embed/dashboard/<?php echo $token; ?>#bordered=true&titled=true" frameBorder="0" width="100%" allowTransparency onload="iFrameResize({}, this)"></iframe>

0

Решение

Вы обслуживаете смешанный контент. Некоторые ресурсы, такие как iframe, на защищенной странице https не могут быть загружены через http. (Смешанный контент в MDN)

Вам нужно загрузить iframe через https:

$url = 'https://my-metabase-domain.com';

перед изменением кода убедитесь, что внешний сайт доступен через https.

Вы не получаете ошибку в своей среде разработки, потому что вы используете http для страницы и iframe.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]