为了账号安全,请及时绑定邮箱和手机立即绑定

推送到关键时无法与端口 8080 建立 TCP 连接

推送到关键时无法与端口 8080 建立 TCP 连接

杨魅力 2023-08-16 17:48:07
新手,我在推送Java应用程序时遇到问题,在健康检查中遇到了问题。The error was Failed to make TCP connection to port 8080: connection refused请帮我解决这个问题编辑:我正在使用 Eureka 服务、Zuul 和中央配置。当我在本地启动应用程序时,它运行正常,但是当我推送到 PCF 时,它会收到此错误消息:2019-09-26T17:51:08.273+07:00 [APP/PROC/WEB/0] [OUT] :: Spring Boot :: (v2.1.3.RELEASE)2019-09-26T17:51:08.423+07:00 [APP/PROC/WEB/0] [OUT] 2019-09-26 10:51:08.418 INFO 18 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : https://fo-config.cfapps.io/globalconfig2019-09-26T17:51:08.982+07:00 [APP/PROC/WEB/0] [OUT] 2019-09-26 10:51:08.981 INFO 18 --- [ main] ContainerTrustManagerFactory$PKIXFactory : Adding System Trust Manager2019-09-26T17:51:08.984+07:00 [APP/PROC/WEB/0] [OUT] 2019-09-26 10:51:08.984 INFO 18 --- [ main] ContainerTrustManagerFactory$PKIXFactory : Adding TrustManager for /etc/ssl/certs/ca-certificates.crt2019-09-26T17:51:09.022+07:00 [APP/PROC/WEB/0] [OUT] 2019-09-26 10:51:08.994 INFO 18 --- [tificates.crt-0] org.cloudfoundry.security.FileWatcher : Start watching /etc/ssl/certs/ca-certificates.crt2019-09-26T17:51:09.409+07:00 [APP/PROC/WEB/0] [OUT] 2019-09-26 10:51:09.409 INFO 18 --- [ main] c.s.FileWatchingX509ExtendedTrustManager : Initialized TrustManager for /etc/ssl/certs/ca-certificates.crt2019-09-26T17:51:09.414+07:00 [APP/PROC/WEB/0] [OUT] 2019-09-26 10:51:09.414 INFO 18 --- [ main] oundryContainerKeyManagerFactory$SunX509 : Adding System Key Manager2019-09-26T17:51:09.426+07:00 [APP/PROC/WEB/0] [OUT] 2019-09-26 10:51:09.423 INFO 18 --- [ main] oundryContainerKeyManagerFactory$SunX509 : Adding Key Manager for /etc/cf-instance-credentials/instance.key and /etc/cf-instance-credentials/instance.crt2019-09-26T17:51:09.453+07:00 [APP/PROC/WEB/0] [OUT] 2019-09-26 10:51:09.451 INFO 18 --- [-instance.crt-0] org.cloudfoundry.security.FileWatcher : Start watching /etc/cf-instance-credentials/instance.crt
查看完整描述

2 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

您的问题是 Tomcat 在错误的端口上启动。从你的日志来看...

2019-09-26T17:51:18.386+07:00 [APP/PROC/WEB/0] [OUT] 2019-09-26 10:51:18.386 INFO 18 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8202 (http)

很明显,它是在端口 8202 上启动的。这会破坏平台运行状况检查,因为平台要求您在端口 8080 上启动应用程序。由于应用程序没有侦听请求的端口,因此运行状况检查无法成功完成,Cloud Foundry 必须假设您的应用程序从未启动,因此它会尝试重新启动应用程序,希望它下次能够正常工作。不幸的是,这是一个配置错误,因此它永远不会通过重新启动来修复,因此会永远循环。

至于为什么您的应用程序在端口 8202 上启动,目前尚不清楚。我没有看到它在您指定的 application.yml 中设置,但它可能在其他地方设置。

对于 Spring Boot,您正在寻找server.port设置。它可以在许多地方设置,包括 application.properties、application.yml,作为 env 变量或系统属性。需要将其设置为 8080,或者更好的$PORT是由 Cloud Foundry 设置的环境变量,并包含应用程序应侦听的预期端口。(附注,Java 构建包应该为您配置此选项,除非您覆盖启动命令或执行某些操作来更改其默认行为)。

当 Tomcat 报告它已在端口 8080 上启动并且运行状况检查通过时,您就会知道这是正确的。

希望有帮助!


查看完整回答
反对 回复 2023-08-16
?
ITMISS

TA贡献1871条经验 获得超8个赞

我遇到了同样的问题,然后我意识到该属性server.port=8083意外地传播到了部署的环境中。我确保仅在本地计算机上运行时设置此属性,并且我的问题得到解决。



查看完整回答
反对 回复 2023-08-16
  • 2 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信