У меня есть приложение с весенней загрузкой, которое я развертываю на AW (Elastic Beanstalk) AWS.Приложение отлично работает локально, однако, я получаю 404 на всех страницах, к которым я пытаюсь получить доступ в развернутой версии.Кроме того, я также не могу получить доступ к статическому содержимому в статической папке.Все конечные точки REST работают нормально.
Моя структура проекта выглядит следующим образом
-- src
-- main
-- kotlin
-- resources
-- static
-- css
-- fonts
-- images
-- js
-- templates (contains html files)
Я пытался определить option_settings в файле .config в папке .ebextensions
option_settings
aws:elasticbeanstalk:container:java:staticfiles:
/public/: WEB-INF/classes/static
/static/: WEB-INF/classes/staticenter code here
Я также попытался добавить следующее в мой весенний класс конфигурации
@Configuration open class MvcConfig : WebMvcConfigurerAdapter() {
override fun addViewControllers(registry: ViewControllerRegistry) {
registry.addViewController("/").setViewName("homepage")
registry.addViewController("/index").setViewName("homepage")
registry.addViewController("/home").setViewName("homepage")
registry.addViewController("/homepage").setViewName("homepage")
registry.addViewController("/login").setViewName("login")
registry.addViewController("/products").setViewName("productsList")
registry.addViewController("/productdetail").setViewName("productDetail")
}
@Bean
open fun viewResolver(): ViewResolver {
val bean = InternalResourceViewResolver()
bean.setPrefix("/templates/")
bean.setSuffix(".html")
return bean
}
override fun addResourceHandlers(registry: ResourceHandlerRegistry?) {
// Register resource handler for all static folders
registry!!.addResourceHandler("/resources/**").addResourceLocations("classpath:/statics/")
.setCacheControl(CacheControl.maxAge(2, TimeUnit.HOURS).cachePublic())
}
@Bean
open fun errorPageFilter(): ErrorPageFilter {
return ErrorPageFilter()
}
@Bean
open fun disableSpringBootErrorFilter(filter: ErrorPageFilter): FilterRegistrationBean {
val filterRegistrationBean = FilterRegistrationBean()
filterRegistrationBean.filter = filter
filterRegistrationBean.isEnabled = false
return filterRegistrationBean
}
Я развертываюсь на tomcat8, который находится за прокси-сервером Apache.
Мои настройки EB верны, так как япопытался развернуть более простое приложение на экземпляре, который работал нормально.
Пожалуйста, дайте мне знать, если есть какие-либо дополнительные сведения, которые я должен предоставить