我正在配置Eureka客户端应用程序,但始终注册的端口结果为80。
服务器配置是从启用了自动发现的Eureka获得的,当禁用自动发现时,端口已正确注册。
应用程序的端口仅从命令行(--server.port = 8080)分配,并在所有其他属性文件(app.yaml,boostrap.yaml和配置服务器git repo)中删除
我注意到在这段代码中:
EurekaClientConfiguration.java
if (port != 0 && instanceConfig.getNonSecurePort() == 0) {
instanceConfig.setNonSecurePort(port);
}
instanceConfig.getNonSecurePort()永远不会为0,因此,nonSecurePort属性永远不会更改。
我必须在其他地方注册port属性吗?
编辑添加一些细节:
我的意思是我的bootstrap.yml有以下几行:
cloud:config:discovery:enabled: true
yml配置位于github存储库中,并且没有分配端口
应用程序正在端口8082中运行app param --server.port = 8082但是当它在Eureka中注册时,端口总是80而不是8082
<port enabled="true">8082</port>
<securePort enabled="false">443</securePort>
这导致每个基于功能区的调用都没有获得正确的URL。
我注意到在init
之后,此处理程序事件中的端口设置正确EurekaClientConfiguration.java:
public void onApplicationEvent(EmbeddedServletContainerInitializedEvent event) {
...
EurekaClientConfiguration.this.port = event.getEmbeddedServletContainer().getPort();
但是标志“正在运行”现在处于活动状态并且没有任何效果
非常感谢你的帮助