当前位置: 首页 > 知识库问答 >
问题:

Laravel和Google应用程序引擎flex环境。在nginx配置中设置缓存控制不工作

萧伟兆
2023-03-14

我正在构建一个laravel应用程序,并尝试启用浏览器缓存。

我尝试在自定义nginx应用程序中设置expires/cache控件。conf文件位于我的应用程序根目录中。(https://cloud.google.com/appengine/docs/flexible/php/reference/app-yaml)

nginx-app.conf内容:

location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv|svgz?|ttf|ttc|otf|eot|woff|woff2) {
  expires 30d;
  add_header Pragma public;
  add_header Cache-Control "max-age: 2592000,public";
}

但标题仍然包含google提供的默认缓存控制600秒。

cache-control: max-age=600
cache-control: public
content-encoding: gzip
content-type: text/css
date: Fri, 14 Jun 2019 10:19:07 GMT
etag: W/"5d03719d-6ffe"
expires: Fri, 14 Jun 2019 10:29:07 GMT
last-modified: Fri, 14 Jun 2019 10:06:21 GMT
server: nginx
status: 200
vary: Accept-Encoding
via: 1.1 google

共有1个答案

颜新
2023-03-14

我在GAE-flex上的Nginx缓存中也遇到了类似的问题,我无法在反向代理上找到修复程序。

我的猜测是,您必须等待这些文件过期,然后才能看到新的缓存控件。

从这个角度来看,我发现GAE非常有限,例如在AWS上没有经历过这种情况。

应用层的一个变通方法是

  1. 静态文件的缓存破坏/版本控制(您可以看到Sails.js的示例)
  2. 添加缓存头到请求(相同的链接,下面的注释)

请参见此答案

 类似资料:
  • 我正在编写一个简单的服务,从多个来源获取数据,将其存储在一起,然后使用GoogleAPI客户端将其发送到GoogleSheet。Easy peasy很好用,数据没有那么大。 问题是,在构建api服务(即

  • 你可以查看或更改 Navicat Monitor 的应用程序设置,例如端口、网站网址和 IP 地址。若要配置应用程序设置,请前往“配置”->“应用程序设置”。 这里列出了 Navicat Monitor 的应用程序设置。你可以编辑以下设置: 端口 Navicat Monitor 将侦听的端口号。 网站网址 将用于警报电子邮件内的 Navicat Monitor 网站网址。 IP 地址 如果机器已被

  • 我通过Github将我的项目部署到GAE。有一些外国API密钥,我不想保存在存储库中并公开它们。是否可以在GAE控制面板中为项目设置环境变量,以便在应用程序中捕获它?

  • 问题内容: 在Ubuntu Linux上开始使用Python开始学习后,我已经在Mac(目前为Mac OS X 10.6)上进行了大部分持续工作,这已经有一段时间了。不幸的是,我忽略了适当地注意如何在其中安装Python并最终导致: Python 2.6.1(Mac默认版本?)也位于(也是2.5.4,我不确定它是如何到达的) 通过MacPorts在中安装了Python 2.6.5 。这是我的默认

  • 我的Laravel应用程序正在为每个站点返回默认的

  • 主要内容:目录:,1. Nginx安装配置,2. PHP7安装配置,2.1 源码下载,2.4. 修改配置,3. Nginx代理集成PHP7配置,MySQL5.7安装配置在前面几篇文章中,我们已经介绍并演示安装 Nginx 的几种方式,在开始本篇文章的阅读和实践之前,建议先阅读“Nginx安装配置”:http://www.yiibai.com/nginx/nginx-install.html ,在上面文章的基础之上,我们再添加 PHP7 的安装配置以及MySQL的安装配置,最后编写一个简单的PHP