it-swarm-ko.tech

Asp.Net Core Web API 앱 : 수신 주소를 변경하는 방법?

간단한 Asp.Net Core WebAPI 2.0 응용 프로그램을 작성하면 로컬 컴퓨터에서 작동합니다. 하지만 서버에 배포하고 싶습니다. 그래서 나는 그것을한다.

내 시스템 :

Ubuntu 16.04.
Asp.Net WebAPI 2.0 (and dotnet version 2.1.105)

그러나 앱이 시작되면 다음과 같이 씁니다.

Now listening on:http://localhost:53115

내가 가치를 얻으려고 할 때 :

  http://id_address:53115/api/values

그리고 나는 응답을 얻을 수 없습니다. 우편 배달부에서 :

 Could not get any response
 There was an error connecting to 
 http://id_address:53115/api/values.
 Why this might have happened:
 The server couldn't send a response:
 Ensure that the backend is working properly
 Self-signed SSL certificates are being blocked:
 Fix this by turning off 'SSL certificate verification' in Settings > General
 Proxy configured incorrectly
 Ensure that proxy is configured correctly in Settings > Proxy
 Request timeout:
 Change request timeout in Settings > General

내가해야 할 일? 어떻게 고칠 수 있습니까?

어디서부터 찾아야할지 모르겠습니다.

감사합니다!

9
Admiral Land

.NETCore 2.1 이전 버전을 사용하고 있으므로 직접 테스트 할 수는 없지만 https://www.billbogaiv.com/posts/setting-aspnet-Host-address-in -net-core-2 , .UseUrls(urls: "http://*:5000")을 추가하면 Kestrel이 로컬 호스트뿐만 아니라 포트 5000을 수신하도록 지시 할 수 있으므로 원격 서버에서도 작동해야합니다.

다른 가능한 해결책 UseKestrel(..)https://docs.Microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.1&tabs=aspnetcore2xLoopback 대신 IPAddress.Any 사용.

7
Daboul

서버 URL 호스트 구성으로 구성됩니다.

서버가 요청을 청취해야하는 포트 및 프로토콜이있는 IP 주소 또는 호스트 주소를 나타냅니다.
: URL
유형 : 문자열
기본값 : http : // localhost : 50
다음을 사용하여 설정 : UseUrls
환경 변수 : ASPNETCORE_URLS

서버가 응답해야하는 URL 접두사의 세미콜론으로 구분 된 (;) 목록으로 설정하십시오.


명령 줄 인수를 사용하여 URL을 설정할 수도 있습니다. 예를 들면 다음과 같습니다.

닷넷 실행 --urls = http://0.0.0.0:5001

그러나 이전 버전의 ASP.NET Core에서는 즉시 작동하지 않습니다 ( 이 수정 프로그램이 사용 된 버전에 적용되는지 여부에 따라 다름 ).

항상 .UseConfiguration 방법을 통해 호스트 설정을 직접 설정할 수 있다는 사실에 기초한 이전 버전의 해결 방법 :

var config = new ConfigurationBuilder().AddCommandLine(args).Build();

return WebHost.CreateDefaultBuilder(args)
        .UseConfiguration(config)

예를 들어 configuration file 과 같은 다른 구성 소스에서 설정 값을 읽는 데 동일한 아이디어를 사용할 수 있습니다.

7
Set