通过CNAME别名访问应用时,可能会导致应用过时?

我遇到一个非常奇怪的情况,仅当通过其CNAME别名访问它的应用程序时,才会提供过时的版本。

该应用程序是使用Webpack构建的静态节点应用程序,并托管在Zeit NOW上。如果我使用直接Zeit URL访问它,则会得到最新版本并更正JS资产:

https://nates-app.now.sh/index.html -> https://nates-app.now.sh/client/index.eb53e753.js (current)

在AWS Route53中,我将CNAME设置为别名www.nates-app.comhttps://nates-app.now.sh。但是,将我的浏览器指向https://www.nates-app.com会导致index.html失效。更奇怪的是,过时的index.html页面需要过时的JS和CSS资产,这些资产也已成功返回:

https://www.nates-app.com/index.html -> https://www.nates-app.com/client/index.f64812dd.js (stale)

过时的版本已有48个小时了。

Dig显示几乎相同的结果。 dig nates-app.now.sh会在以下“答案”部分中显示:

;; ANSWER SECTION:
nates-app.now.sh.   60  IN  A   1.2.3.4
nates-app.now.sh.   60  IN  A   4.3.2.1

dig www.nates-app.com的输出相同,ANSWER部分中只有一个(预期的)附加值显示了CNAME:

;; ANSWER SECTION:
www.nates-app.com.  300 IN  CNAME   https://nates-app.now.sh.
nates-app.now.sh.   60  IN  A   1.2.3.4
nates-app.now.sh.   60  IN  A   4.3.2.1

我没有将AWS Cloudfront或任何其他CDN用于静态资产。

我显然已经清除了浏览器的缓存,甚至关闭和打开了我的VPN。同事从其他ISP访问Internet时也会看到同样的事情。

那么,在互联网上可能会缓存(非常旧版本的)网站HTML和相关资源?

weashing 回答:通过CNAME别名访问应用时,可能会导致应用过时?

很奇怪,当我遇到类似的问题时,解决方案始终是刷新浏览器缓存或使用隐身模式。您是否仍然有同样的经历

,

几件事:

Zeit不支持将CNAME指向您的Zeit子域。您需要在Zeit仪表板中配置域并设置验证文本记录,并将CNAME分配给alias.zeit.coalias.zeit.co服务器会将您的CNAME路由到最新部署。

在Zeit的配置中,您的域名也仍然可能指向您项目中较旧的部署。 Zeit不会自动将域名重新分配给新的部署,除非您正在进行生产部署,即now --prod或已将其配置为将推送到git master分支的推送视为生产部署。在仪表板中,单击Projects,然后单击项目名称。如果您没有在最近的部署中看到您的域,则可能是您的罪魁祸首。

本文链接:https://www.f2er.com/3039180.html

大家都在问