我有一个在docker容器中运行的spring-boot应用程序,但是每当我尝试访问该站点时,我都会得到一个404 Error
。
该应用程序正在服务vuejs
应用程序,并将资源从vue应用程序的/dist
文件夹复制到Spring Boot应用程序中类路径的public/static
文件夹。
但是:每当我尝试访问该网站时,我都会得到一个404 Error
(这会导致为该应用提供服务的apache层出现503/500错误)。
在本地运行应用程序时,我注意到的一件事是:
2019-03-15 16:42:12.891 INFO 48301 --- [ restartedMain] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [public/index.html]
2019-03-15 16:42:14.185 INFO 48301 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729
2019-03-15 16:42:14.204 INFO 48301 --- [ restartedMain] o.s.b.a.e.web.EndpointLinksResolver : Exposing 2 endpoint(s) beneath base path '/actuator'
该实例在localhost上运行良好,并且看来WelcomePageHandlerMapping
正在将资源添加为入口点。该消息未出现在docker容器中。
我有这个控制器类:
@Controller
public class RoutesController implements ErrorController {
private static final String PATH = "/error";
@RequestMapping(value = PATH)
public String error() {
return "/index.html";
}
@Override
public String getErrorPath() {
return PATH;
}
@RequestMapping(value="/result/{userid}")
@ResponseStatus(HttpStatus.OK)
public String returnIndex() {
return "/index.html";
}
@RequestMapping(value="/", method = RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
public String returnHome() {
System.out.println("Request for homepage");
return "/index.html";
}
}
意味着它应该返回index.html
,即使该路径不存在。以及在原始请求上提供索引文件-但是什么也没有发生。
这几乎就像docker容器无法访问文件一样,但是我不知道,因为这在本地有效。
在这里做什么的任何想法?