在我的spring启动应用程序中,我通过以下方法添加资源处理程序。处理程序被添加到Windows安装程序的位置,但是在我的linux机器上部署时没有这样做。
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//linux
registry.addResourceHandler("/content/**").addResourceLocations("file:/app/content/").setCachePeriod(0);
//windows
//registry.addResourceHandler("/content/**").addResourceLocations("file:/D:\files\").setCachePeriod(0);
}
注意:linux机器上的目标文件夹也具有读写权限。另外,尝试过file://和file:///
我可能缺少的任何其他设置。访问http://myhost/content/file.jpg上的文件会导致linux上的404
答案 0 :(得分:0)
解决。问题出在apache proxy conf上。 最初我通过apache提供静态文件。后来是在spring boot应用程序中这样做的。 但是,
ProxyPassMatch ^ /内容!
此设置仍然存在未将请求转发给拦截器的conf。