为 Wildfly 提供的静态内容更新 Last-Modified

Posted

技术标签:

【中文标题】为 Wildfly 提供的静态内容更新 Last-Modified【英文标题】:Updating Last-Modified for static content served with Wildfly 【发布时间】:2018-01-29 12:29:56 【问题描述】:

我与 Wildfly 上部署的 web 应用程序中的一些静态文件(主要是图像)发生了争执。有时应用程序需要更新其中一些文件,然后在文件系统中替换这些文件。

然而 Wildfly/Undertow 似乎认为没有任何变化,并且响应中的 Last-Modified 标头一直显示更新前的时间。

所以我想知道 Undertow 使用什么来确定显示的 Last-Modified 标头。我试过“触摸”父目录,但没有效果。

事实上,wildfly/undertow 会在第一次加载给定资源后缓存最后修改时间。

更新

这显然是缓存的问题,因为如果我删除我之前请求的文件之一并再次请求它,我会得到500 Internal Server Error 和堆栈跟踪!

【问题讨论】:

【参考方案1】:

正如this thread 中指出的那样,爆炸的战争目录不是可以更改的静态资源的正确位置。

应该使用文件系统上的其他目录并配置 undertow 子系统来服务这些页面。参见例如this question。

【讨论】:

以上是关于为 Wildfly 提供的静态内容更新 Last-Modified的主要内容,如果未能解决你的问题,请参考以下文章

用静态内容替换图像 wildfly 10

无需重启服务器即可更改静态内容(html、css、JS) Wildfly 8

使用 gsutil rsync 更新从 Google 存储桶提供的静态网站的内容

Wildfly Undertow 文件 Mimetypes

如何找出 Wildfly 1x.x.x 中使用的 RESTEasy 版本

如何在wildfly服务器中以编程方式热重载静态资源(如xhtml)以获取爆炸战争中存在的库