在PHP 7.1应用程序中,我从php文件“ filecache.php”加载文件-在返回可缓存文件方面效果很好。
但是让我抓狂的是,这些图像在Chrome和FF中触发了不安全的内容警告(也许其他人也是如此)。
使用标签加载文件,我尝试了相对URL,这给了我错误。我还尝试使用完整的URL https://example.com/filecache?f=0983490842'>相同的错误。
服务器使用HSTS和LetsEncrypt证书-不允许HTTP流量。
当我检查Chrome(和FF)中的网络活动时,我可以看到浏览器尝试使用https检索文件,然后在缓存中找到该文件,该文件提供了307内部重定向-但指向http url-最终结束了图像通过缓存从https加载。好吧,至少这就是我如何阅读以下信息。
任何输入或指针将不胜感激!
filecache.php
if(file_exists($file)){
if(substr($_GET["f"],-3)=="jpg") Header("Content-Type: image/jpeg");
if(substr($_GET["f"],-3)=="png") header("Content-Type: image/png");
header('Cache-control: max-age='.(60*60*24*365));
header('Expires: '.date("Y-m-d H:i:s",strtotime("+365 days")));
header('Last-Modified: '.gmdate(DATE_RFC1123,filemtime($file)));
readfile($file);
}else{
die("no such file");
}