【发布时间】:2016-10-11 20:46:49
【问题描述】:
我正在尝试使用 AWS 的 Java 配置(不是他们的 Tomcat 配置)在 AWS Elastic Beanstalk 上部署一个非常简单的 Spring Boot 应用程序,但我不断收到以下日志的 502 错误:
2016/06/10 02:00:14 [error] 4921#0: *1 connect() failed
(111: Connection refused) while connecting to upstream, client: 38.94.153.178,
server: , request: "GET /test HTTP/1.1", upstream: "http://127.0.0.1:5000/test",
host: "my-single-instance-java-app.us-east-1.elasticbeanstalk.com"
我尝试通过 Spring 的 application.properties 将我的端口设置为日志所需的值(5000,使用 server.port=5000)并验证我的应用程序在 localhost 上的该端口上成功运行。
This question 非常相似,只是我部署的是 JAR 而不是 WAR。似乎我在配置 Nginx 方面缺少一些东西,我不知道如何继续。
这是我的 Spring 应用程序:
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
@RestController
public static class MainController {
@RequestMapping("/test")
public String testMethod() {
return "Method success!";
}
}
}
【问题讨论】:
-
你能粘贴你的安全组规则吗?
-
我不确定这是否是您要求的,但我有两个角色:角色:aws-elasticbeanstalk-ec2-role 权限:AWSElasticBeanstalkWebTier AWSElasticBeanstalkMulticontainerDocker AWSElasticBeanstalkWorkerTier 角色:aws-elasticbeanstalk-service-角色权限:AWSElasticBeanstalkEnhancedHealth AWSElasticBeanstalkService
-
不,这是我想要你的 EC2 实例的安全组的角色。
-
我仍然不太确定这是否是您要求的imgur.com/a/RwXgk
-
Ok 在入站中为 TCP 端口 5000 "0.0.0.0/32" 添加安全规则
标签: amazon-web-services nginx spring-boot port amazon-elastic-beanstalk