当前位置: 首页 > 知识库问答 >
问题:

无法访问承载在EBS上的spring boot应用程序

毕和志
2023-03-14

我在AWS弹性豆茎上托管了我的Spring引导应用程序,但是当我试图用公共网址访问它时,它给我502网关错误。在日志中,我可以看到以下错误:2017/08/05 20:10:33[错误] 22965#0:*157连接()失败(111:连接拒绝)而连接到上游,客户端: XXX.68.241.XXX,服务器:,请求:"GET/swagger-ui.htmlHTTP/1.1",上游:"http://127.0.0.1:5000/swagger-ui.html",主机:"XXXXXXXXX-env。三十.us-west-2.elasticbeanstalk.com"

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

events {
  worker_connections 1024;
}

http {
  log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
  '$status $body_bytes_sent "$http_referer" '
  '"$http_user_agent" "$http_x_forwarded_for"';


  upstream tomcat_servers{
    ip_hash;
    server 127.0.0.1:5000;
    keepalive 256;
  }

  access_log  /var/log/nginx/access.log  main;

  sendfile            on;
  tcp_nopush          on;
  tcp_nodelay         on;
  keepalive_timeout   65;
  types_hash_max_size 2048;

  include             /etc/nginx/mime.types;
  default_type        application/octet-stream;


}

共有1个答案

益何平
2023-03-14

我会仔细检查Spring boot应用程序运行的端口。

默认情况下,Spring Boot应用程序将在端口8080上侦听。Elastic Beanstalk假设应用程序将侦听端口5000。有两种html" target="_blank">方法可以解决这个问题:更改Elastic Beanstalk配置为使用的端口,或者更改Spring Boot应用程序侦听的端口。在本文中,我们将更改Spring Boot应用程序监听的端口。

最简单的方法是在Elastic Beanstalk环境中指定SERVER_PORT环境变量,并将该值设置为5000。(配置属性名为server.port,但Spring Boot允许您指定更环保的名称)。

https://aws.amazon.com/blogs/devops/deploying-a-spring-boot-application-on-aws-using-aws-elastic-beanstalk/

我也回答了

有关如何更新端口的帮助

 类似资料:
  • 我是kubernetes的新手,我尝试使用Kubernete运行小型应用程序。我创建了docker镜像并使用minikube运行它。所以应用程序非常简单,它只打印hello world。 我的dockerfile文件: deployment.yaml 我运行命令: 创建deployment.yaml 输出是: 服务/myhelloworldservice已创建 创建的部署.apps/我的问候世界

  • 我正在尝试将我的JavaSpring Boot Web应用程序部署到Heroku。 要在本地启动它,我运行: 然后 因此,我为Heroku创建了Procfile: 我使用Heroku-Github集成,应用程序从Github部署到Heroku。所以我就把它推到那里。 但应用程序不会启动。 给我: 不显示目录。 我认为Heroku没有构建这个应用程序。但是我做错了什么?提前感谢您的建议!

  • 我在Windows 10系统上运行一个Ubuntu 18.10 LTS虚拟机。在网络配置中,我将网络设置为。之后,我的虚拟机出现在我的本地网络中,ip。从我的主机系统向VM执行操作很好。 然后,我启动了一个烧瓶应用程序。在 VM 上,服务器将启动,并在本地主机:5001 下可用。 但是从我的托管服务,当我尝试访问时,我。 我必须在虚拟机上打开一些端口吗? 谢谢!

  • 我正在尝试将我的Docked React应用程序部署到Kubernetes。我相信我已经正确对接了,但我无法访问暴露的吊舱。 我没有在Docker或Kubernetes工作的经验,所以任何帮助都将不胜感激。 我的反应应用程序只是从Tomcat提供的静态文件(从npm运行构建)。 我的Dockerfile在下面。总之,我把我的应用程序放在Tomcat文件夹中,并公开端口8080。 我构建并将Dock

  • 我试图从我的SAM应用程序本地连接到DynamoDB。我能够启动Dynamodb服务器,并能够通过我的python文件连接它,引用此https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.Python.01.html 导入json导入boto3从boto3.dynamodb.conditions

  • 我正在使用SeleniumJavaJAR版本:3.4.0Appium,桌面版本:1.4.13.1Java客户端版本:5.0.0-BETA9 代码和所需的功能是: } 但当我运行它时,在eclipse控制台中出现了以下错误: 以下是appium的错误: 试图通过更改不同版本来解决,但无法解决。appium正在显示错误,但同时emulator正在显示已安装的应用程序。 有人有相同的问题吗?请提出解决方