영사 검색이 로컬 호스트에서는 https를 반환하지만 서버에서는 http만 반환하는 이유는 무엇입니까?

영사 검색이 로컬 호스트에서는 https를 반환하지만 서버에서는 http만 반환하는 이유는 무엇입니까?

hashicorp consul을 통해 두 가지 시나리오를 테스트했습니다.

1. .net7에서 hashicorp consul을 통해 서비스 검색을 구현했지만 consul로부터 서비스 주소를 얻으려면 https가 아닌 해당 서비스의 http만 반환됩니다. 나는 등록자로 내 서비스를 docker에 등록했고 .net dockerized에서도 서비스를 발견했습니다.

2.하지만 내 로컬 호스트에서 이 시나리오를 테스트했습니다. localhost에 두 개의 API를 구현하고 그 중 하나를 docker 서버에서 실행 중인 consul에 등록했습니다. consul을 통해 api2에서 api1을 발견했을 때 api1의 https를 요청했지만 consul을 본 적이 있습니다. 전환하고 http로 변경하면 작동하고 그 결과를 얻습니다. 하지만 내 서버(scenario1)에서 동일한 상황이 작동하지 않습니다.

내 구현:

services.AddServiceDiscovery(옵션 => options.UseConsul());

//HttpClinetFactory services.AddHttpClient("DiscoveryRandom").ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler { ServerCertificateCustomValidationCallback = (sender, cert, chain,sslPolicyErrors) => true, }).AddHttpMessageHandler().AddServiceDiscovery();

// 주입합니다: IHttpClientFactory clientFactory

_httpClient = clientFactory.CreateClient("DiscoveryRandom");

_httpClient.BaseAddress = new Uri($"https://{영사에 대한 서비스 이름}");

// 서버의 docker에 의해 등록된 시나리오 1에 대한 내 앱 설정이고 방금 consul을 통해 doscover했습니다.

"$schema": "https://steeltoe.io/schema/latest/schema.json", "Consul": { "Host": "10.200.8.178", "Discovery": { "Register": false } }

// localhost에서 직접 등록한 시나리오 2에 대한 내 앱 설정:

// api1이 consul에 등록하도록 설정

"$schema": "https://steeltoe.io/schema/latest/schema.json", "Consul": { "Host": "10.200.8.178", "Discovery": { "Register": true, " serviceName": "TestConsul", "hostName": "localhost", "port": 7141, "deregister": false } }

// 서비스 검색 api2 설정

"$schema": "https://steeltoe.io/schema/latest/schema.json", "Consul": { "Host": "10.200.8.178", "Discovery": { "Register": false } }

관련 정보