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

nginx Express:etag缓存不起作用

酆景辉
2023-03-14

给出了一个带有express的nodejs应用程序,它通过nginx运行。我正在尝试使用ETag添加缓存支持。

如果没有nginx,如果应用程序被直接调用它的工作。我设置了如果无匹配头,并收到一个304。

对于nginx,响应总是200。

我的Nginx配置

    location /app/ {
            proxy_pass http://app;
    }

快车的日志记录。

信息:HTTP GET/app/statusCode=200,url=/app/,connection=upgrade,host=11.1.1,accept=application/json,text/plain,/,user-agent=Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,比如Gecko)Chrome/56.0.2924.87 Safari/537.36,referer=somesite。com,接受语言=en-US,en;q=0.8,de;q=0.6,
如果不匹配=W/“29ae92-4sHBxs6sPcMB3/GypUtubLN0HQ8 gzip”,x-forwarded-proto=http,cookie=io=XAMR4ZH1TZXIVWZKAAA,x-forwarded-for=10.43.212.26,x-forwarded-host=somesite。com,x-forwarded-server=somesite。com,method=GET,httpVersion=1.1,originalUrl=/app/,responseTime=352

共有1个答案

司空繁
2023-03-14

您应该在NGINX配置中启用HTTP/1.1:

location /app/ {
  proxy_http_version 1.1;
  proxy_pass http://app;
}
 类似资料:
  • 嗨,我在执行方法时遇到清理缓存的问题。这是我的配置和缓存方法: 我要缓存的这个方法: 在执行此方法时,我希望按类型清理缓存: 新闻消息对象看起来像: 缓存工作正常,第一次查询DB时,第二次从缓存中提取数据。问题是当我更新数据时,@CacheEvict不会清理缓存。我试图使用以下注释清理所有缓存:@cacheexit(cacheNames={CacheConfiguration.RSS\u NEWS

  • 问题内容: 我正在尝试但未能成功在具有以下 依赖项的* Spring Data 和 Hibernate environmet中缓存查询: * 我的实体服务的Spring Data Repository(ServiceRepository)是 从中调用存储库的@Cacheable方法 我的缓存配置文件(jpa-context.xml)是 它的灵感来自spring-data-jpa-examples

  • 我使用Spring Boot 1.4.1和spring-boot-starter-data-jpa 当查询我的自定义方法时,比如'find byname(String name)',它不是缓存。

  • 问题内容: yihui给出了针对不同引擎使用cache选项的示例 https://github.com/yihui/knitr-examples/blob/master/023-engine- python.Rmd 我似乎无法使其适用于python。 以下作品 但这行不通 有人有主意吗? 问题答案: 块选项不会保存块中定义的除之外的所有语言变量。但是,这是保存打印输出的结果,因此,如果您计算需要花

  • 我在Springboot中开发了一个RESTendpoint,它接受ID,并用进行响应。此endpoint用注释标记。现在有两件事可以发生在给定的终点。 情况1:请求ID存在于DB中,并产生一个需要进行重定向的URL。在这种情况下,应该缓存响应,以便在相同ID的连续请求时,可以从缓存提供结果 情况2:请求的ID在DB中不存在,因此重定向应该发生在特定的URL,在此场景中不应该进行缓存。 如果我从这

  • 在我的项目中,我使用了一个@Cacheable注释ia一个服务方法,它返回涉及书籍和一些标记的计算结果,我想在一个@Controller类方法中退出缓存,该方法将一本新书添加到数据库中,因为这本新书将是新计算所必需的。 服务类:@Cacheable("metas") 控制器类:@RequestMapping@CacheEvict(value=“metas”,allEntries=true)