Ошибка «Отказано в доступе» при использовании UseUrls () при попытке запустить Kestrel - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь запустить приложение asp.net core 2.1 на моем Mac и получаю сообщение об ошибке «Отказано в доступе», и Kestrel не запускается, когда я указываю опцию UseUrls ().

Этоmy program.cs

public class Program
{
    public static void Main(string[] args)
    {
        BuildWebHost(args).Run();
    }

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseKestrel()
            .UseUrls("http://api.dev.mysite.com")
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .Build();
}

Если я закомментирую «UseUrls», то сайт запустится нормально https://localhost:5001

1 Ответ

0 голосов
/ 10 июня 2018

Kestrel не привязывается к конкретным именам хостов.UseUrls() позволяет связывать только с сетевым интерфейсом, например:

http://localhost:5000
http://127.0.0.1:5001
http://*:5002

Если вы хотите использовать имя хоста для доступа, вам нужно изменить файл / etc / hosts чтобы сопоставить имя хоста с локальным хостом, но вам нужно указать порт http://api.dev.mysite.com:5001, если он не настроен на прослушивание 80 или 443 (для https).Или используйте обратный прокси, как IIS / Nginx / Apache.Для Nginx конфигурация:

server {
  listen       80;
  server_name  api.dev.mysite.com;
  location / {
    proxy_pass http://127.0.0.1:5001;
  }
}
...