Сгенерированный файл domPDF нельзя загрузить в Chrome. Он отлично работает в других браузерах, но выдает эту ошибку в Chrome:
Mixed Content: The site at 'https://xxx.io' was loaded over a secure connection, but the file at 'https://xxx.io/pdf/?doc=auAjvjYi8yyOJIfPq3t4prhrYdWsDDxXIG85XiRyNGo' was redirected through an insecure connection. This file should be served over HTTPS. This download has been blocked. See https://blog.chromium.org/2020/02/protecting-users-from-insecure.html for more details.
А это блок кода, в котором я транслирую PDF:
$domPdf = new Dompdf([
'isRemoteEnabled' => true,
]);
$domPdf->loadHtml($pdfHTML);
$domPdf->setPaper('A4');
$domPdf->render();
ob_end_clean();
$domPdf->stream($documentName, [
'compress' => true,
'Attachment' => true,
]);
exit();
А также ссылку на маршрут загрузки PDF:
<a href = "https://xxx.io/pdf?doc=auAjvjYi8yyOJIfPq3t4prhrYdWsDDxXIG85XiRyNGo" onclick = "downloadPDF()" class = "mobile-hide no-ul "><span class = "icon-pdf"></span></a>
Я только что проверил весь сгенерированный HTML с помощью str_contains($pdfHTML, 'http://'), и внутри строки HTML нет ни одного.
SSL-сертификат действителен?
Да, это Amazon RSA 2048 M01.
Показывают ли инструменты F12 заблокированные загрузки ресурсов на вкладке сети?
Это не показывает. Но есть внутреннее перенаправление, которое может вызвать эту проблему. Маршрут, по которому я создаю PDF, внутренне перенаправляет на тот же URL-адрес, но с http:// Для этого не установлены правила в .htaccess, что странно.






Это так глупо. Поскольку я не указал точно маршрут, например https://xxx.io/pdf/index.php?doc=auAjvjYi8yyOJIfPq3t4prhrYdWsDDxXIG85XiRyNGo (обратите внимание на index.php после /pdf/), Chrome автоматически отправлял внутренний запрос перенаправления 307 с использованием http на маршрут, а затем решает, что работать небезопасно...
Видя, что для
isRemoteEnabledустановлено значение true, вы загружаете изображения без https в свой HTML, который создает PDF?