Я знаю, здесь много таких вопросов и ответов, но ни один из них мне не помог. Я пытаюсь установить мое простое приложение Spring Boot на AWS Elastic Beanstalk. Есть ограничение: он должен использовать .jsp
шаблонов, поэтому .war
, а не .jar
. Если я использую предопределенную среду Tomcat в Elastic Beanstalk, все работает нормально, но моя цель - использовать среду Java.
Когда я устанавливаю свое приложение, его статус становится равным Degraded
, и я получаю 502, когда пытаюсь достичь URL.
Локально все отлично работает.
Я изменил порт в application.properties
на 5000, но это не помогло. Я нашел рекомендацию использовать правило безопасности для входящих сообщений для TCP Port 5000 "0.0.0.0/32"
, но это не помогло.
Вот мои pom.xml
зависимости:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<version>4.6.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
application.properties:
spring.mvc.view.prefix=/WEB-INF/view/
spring.mvc.view.suffix=.jsp
server.port=5000
Основной класс Java:
@SpringBootApplication
public class DemowebApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemowebApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(DemowebApplication.class, args);
}
}
Журналы ошибок AWS:
2019/05/07 21:04:45 [error] 7827#0: *19 connect() failed (111: Connection refused) while connecting to upstream, client: 91.232.158.8, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:5000/", host: "my-endpoint-tst.us-east-2.elasticbeanstalk.com"
2019/05/07 21:04:46 [error] 7827#0: *19 connect() failed (111: Connection refused) while connecting to upstream, client: 91.232.158.8, server: , request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:5000/favicon.ico", host: "my-endpoint-tst.us-east-2.elasticbeanstalk.com", referrer: "my-endpoint-tst.us-east-2.elasticbeanstalk.com/"
Я подозреваю, что проблема связана с моей конфигурацией Tomcat, но все мои эксперименты с ней еще не помогли.