#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