Spring引导addResourceHandlers不能在linux上运行

时间:2017-02-03 15:41:14

标签: spring-boot

在我的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

1 个答案:

答案 0 :(得分:0)

解决。问题出在apache proxy conf上。 最初我通过apache提供静态文件。后来是在spring boot应用程序中这样做的。 但是,

ProxyPassMatch ^ /内容!

此设置仍然存在未将请求转发给拦截器的conf。