Как я могу получить доступ к своему BackEnd API с удаленного компьютера? - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь получить доступ (я имею в виду POSTing, GETing ...) к моему внутреннему API, написанному с использованием asp. net Ядро и зарегистрировано на компьютере, который имеет следующий IP-адрес (например: 192.168.1.80 ) с компьютера, который имеет следующий IP-адрес (например, 192.168.1.71), когда я запускаю свое приложение, используя следующие launchSettings. json:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iis": {
      "applicationUrl": "http://localhost/ServerMonitoringApi",
      "sslPort": 0
    },
    "iisExpress": {
      "applicationUrl": "http://localhost:9999",
      "sslPort": 0
    }
  },
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "api/Alerting",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "ServerMonitoringApi": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "api/Alerting",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "https://localhost:9999;http://localhost:5000"
    }
  }
}

Я могу использовать его, если останусь в той же машине, то есть: https://localhost: 9999 , но когда я пытаюсь получить данные с удаленной машины, где я использую https://192.168.1.80: 9999 это не работает для меня, мне нужно что-то настроить? Или разрешить доступ к моему порту (9999). Я новичок ie Будь благородным, спасибо за вашу помощь :)

1 Ответ

0 голосов
/ 02 марта 2020

Вам нужно указать больше URL при построении WebHost в Program.cs, иначе Kestrel не будет слушать за пределами localhost.

var host = WebHost.CreateDefaultBuilder(args)
                .UseUrls("http://....") // url of your server using server name or IP
                .UseStartup<Startup>()
                .Build();

Конечно, не забудьте удалить эту строку при запуске в производство.

...