как получить доступ к конечным точкам с удаленного компьютера

#asp.net-core #asp.net-core-webapi #ubuntu-18.04

#asp.net-ядро #asp.net-ядро-webapi #ubuntu-18.04

Вопрос:

Я управляю ASP.NET Core 2.2 API на сервере Ubuntu 18.04×64, который имеет общедоступный IP-адрес. Он был разработан на компьютере с Windows, и во время работы в IIS все конечные точки прекрасно работают с локальным хостом. Как только он будет запущен на сервере ubuntu с помощью команды dotnet, я не смогу получить доступ к конечным точкам со своего компьютера с Windows через общедоступный IP-адрес.

Я попытался добавить это в свой файл Program.cs:

 public static IWebHost BuildWebHost(string[] args) =>
     WebHost.CreateDefaultBuilder(args)
     .UseStartup<Startup>()
     .UseUrls("http://*:5000")
     .Build();
 

А также

 "WebAPI": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "api/values",
      "applicationUrl": 
      "https://localhost:5001;http://localhost:5000;http://*:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
 

к моему файлу launchSettings.json

Когда я захожу на общедоступный IP-адрес в своем браузере, я получаю добро пожаловать на веб-страницу nginx, но когда я захожу в /api /ping, я получаю ошибку 404. Что еще я упускаю из виду?

Комментарии:

1. «Когда я перехожу на общедоступный IP-адрес в своем браузере, я получаю добро пожаловать на веб-страницу nginx» — это звучит так, как будто вы переходите только на IP, то http://X.X.X.X есть без порта. Исходя из того, что у вас есть здесь, вам нужно будет перейти к http://X.X.X.X:5000 вместо этого. Если вы пытаетесь использовать nginx в качестве обратного прокси-сервера, кажется, что это настроено неправильно.

2. Добавление порта приведет к тайм-ауту запроса @ChrisPratt