В моем локальном (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>
Вы обслуживаете смешанный контент. Некоторые ресурсы, такие как iframe, на защищенной странице https не могут быть загружены через http. (Смешанный контент в MDN)
Вам нужно загрузить iframe через https:
$url = 'https://my-metabase-domain.com';
перед изменением кода убедитесь, что внешний сайт доступен через https.
Вы не получаете ошибку в своей среде разработки, потому что вы используете http для страницы и iframe.
Других решений пока нет …