nginx - Nginx 代理显示旧内容
问题描述
我的设置存在一些问题,其中包含:代理 -> CDN 缓存 -> 源。
它的设置是,如果我们更新源上的内容,我们会清除 CDN 缓存,因此我希望在实时站点(代理)上看到更新。但有时,大约 20-30% 的时间这不会反映在代理上,即使我看到CDN 已正确更新。我无法理解为什么。
我已经关闭了代理上的缓存。多次清除缓存最终将在清除后代理不显示正确内容的时间显示正确的内容。
以下不同阶段的响应。
CDN 来自 Verizon 的 Microsoft azure
代理配置:
server {
server_name <DOMAIN>;
location / {
proxy_no_cache 1;
proxy_cache_bypass 1;
proxy_redirect off;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_headers_hash_max_size 512;
proxy_headers_hash_bucket_size 128;
proxy_hide_header Cache-Control;
add_header Cache-Control max-age=120; #Browser cache of 120s
proxy_pass "https://<CDN-BASE-URL>$request_uri";
}
}
仔细观察, Last-Modified似乎是不匹配的,这可能是原因吗?
解决方案
推荐阅读
- python - SQLAlchemy - 某些表类上的 ModuleMarker 错误
- keycloak - Keycloak、mod_auth_openidc 和反向通道注销
- algorithm - 当 N 很大时求解递归关系
- tabulator - 制表符:演示显示一个空白页
- android - 出现错误“所有 gms/firebase 库必须使用完全相同的版本规范”但未在项目中使用 Firebase
- c++ - 在 MacOS 上安装 P3DFFT++
- ios - Swift:如何在比较/拆分两个日期数组 [Date] 之后创建日期数组 [[Date]]
- javascript - 函数运行但模板不填充
- java - 如何使用 Scanner 在 Main 中输入两个数字并使其与方法一起使用(升序 java )?
- fonts - 使用开放式功能重建 Google 字体