PHP文件缓存触发内部307 ==不安全警告

时间:2018-12-13 17:04:09

标签: php google-chrome

在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加载。好吧,至少这就是我如何阅读以下信息。

enter image description here

任何输入或指针将不胜感激!

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

0 个答案:

没有答案