spring-cloud-consul icon indicating copy to clipboard operation
spring-cloud-consul copied to clipboard

Instance not being marked as secure when secure=true tag present

Open welsh opened this issue 4 years ago • 2 comments

Specifically using:

  • Spring Boot: 2.4.6
  • Spring Cloud: 2020.0.3
  • Spring Cloud Consul Discover 3.0.3

When the ConsulDiscoveryClient.getInstances() is called, and the service is registered within consul with the secure=true tag being set, the returned ServiceInstance is not flagged as secure.

From looking at the ConsulServiceInstance, it appears that getSecure(healthService) is only checking the Metadata, however I believe it should be checking both the metadata and the tags.

The reason I believe it should be both is because our Spring Cloud Gateway instances (Spring Boot 2.3.9, Spring Cloud Hoxton.SR9) is registering itself with consul, and Spring Cloud Consul Discovery is registering and setting that secure=true tag and not setting any metadata.

Edit: I realize after looking a bit more, this may be by design and PR https://github.com/spring-cloud/spring-cloud-consul/pull/700 could resolve it once completed.

welsh avatar Aug 12 '21 19:08 welsh

I would say yes #700 would probably address this.

@spencergibb thoughts?

ryanjbaxter avatar Aug 16 '21 14:08 ryanjbaxter

Short term I've also solved it by updating the app in question temporarily to have:

spring:
  cloud:
    consul:
      discovery:
        metadata:
          secure: true

Until we can update it to a newer version of Spring Boot + Spring Cloud.

welsh avatar Aug 16 '21 16:08 welsh