java Eureka 总是返回端口为8080的url

lmyy7pcs  于 2023-04-04  发布在  Java
关注(0)|答案(5)|浏览(265)

无论客户端中的配置是什么,端口8080总是从Eureka 返回。下面是我在客户端上的eureka配置的示例:
这是应用程序.yml

eureka:
  client:
    register-with-eureka: true
    fetch-registry: false
    serviceUrl:
      defaultZone: http://eurekaserver.com/eureka
  instance:
    nonSecurePort: 80
    nonSecurePortEnabled: true
    hostname: myhost

使用上述配置的应用程序将尝试向Eureka 注册。它可以成功注册,但eureka返回http://myhost.com:8080。预期的url假定为http://myhost.com
应用程序在端口8080上运行,但是http://myhost.com到达了restendpoint。有什么方法可以解决这个问题吗?

--编辑--

这是我的bootstrap.yml

spring:
  application:
    name: myappname
8zzbczxx

8zzbczxx1#

您在哪个文件中添加了此配置?bootstrap.ymlapplication.yml,还是特定于配置文件的配置文件?还要检查属性文件名中的拼写错误。
因此,发生的情况是您的配置没有正确加载。Eureka Client的自动配置在当前上下文中找不到EurekaInstanceConfigBean,因此它正在为您创建一个。默认情况下,它首先检查server.port,然后检查port,如果之前的密钥尚未设置,则最终将端口设置为8080。
我不知道你使用的是哪个版本,但这已经是默认行为很长一段时间了。
希望这能有所帮助!:)

x6492ojm

x6492ojm2#

我看到了完全相同的行为。所有在服务器上注册的客户端都返回了正确的URL,但错误的端口号,8080。我有2个客户端在同一个节点上运行,但名称和端口不同,真正使用端口8080的人在Eureka 服务器上正确显示,但使用端口9090的人在eureka服务器上也显示端口8080。我试着把server.port移到这里或那里(bootstrap.yml或application.yml),但是没有成功。任何帮助都将被感激!

brqmpdu1

brqmpdu13#

在这种情况下,请转到:
1.运行方式-〉运行配置
1.环境
1.从其中删除端口号8080并应用
1.通过在 application.properties 中传递server.port=8081,尝试使用不同的端口运行应用程序。

i7uq4tfw

i7uq4tfw4#

我有同样的问题,我已经解决了设置这个参数在application.properties:

server.port = 7011

它可以是冗余的(在我的例子中,我从Weblogic获得端口),但它是客户端配置中的强制性,以避免使用默认端口(8080)注册服务

k4ymrczo

k4ymrczo5#

在我的例子中,我在pom.xml中有一个tomcat依赖项。我删除了它,它工作了。尝试从pom.xml中删除spring-boot-starter-tomcat依赖项。

相关问题