Как связать внешний домен с автономным приложением. NET Core 3.1 Kestrel? - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть простое. NET Ядро 3.1 собственного приложения Kestrel. После публикации на моем сервере он работает правильно на http://localhost: 5000 .

Я хочу получить доступ к этому приложению через удаленный браузер, поэтому я изменил Program.cs, как показано ниже:

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

    public static IHostBuilder CreateHostBuilder(string[] args) =>
    {
        Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.ConfigureKestrel(so =>
            {
                so.Listen(IPAddress.Any, 5000); //==> This is OK
            });
            webBuilder.UseStartup<Startup>();
        });
    }   
}

Теперь приложение доступно из любого удаленного браузера по адресу http://IP:port. Однако вместо использования IP: Port я хочу привязать URL-адрес домена (например, www.XXXX.com) к своему приложению.

Я использую Cloudflare в качестве DNS-сервера и прокси-сервера. Имейте в виду, что Cloudflare не поддерживает переадресацию портов. Кроме того, приложение Portzilla в Cloudflare мне было бесполезно.

Пока что я сделал, я добавил новый IP-адрес (скажем 112.250.22.33) на сервер и попытался настроить приложение. прослушивать порт 80 указанного IP-адреса c:

webBuilder.ConfigureKestrel(so =>
{
    so.Listen(IPAddress.Parse("112.250.22.33"), 80); //==> NOT OK
});

Однако при такой конфигурации приложение не запускается вообще, даже если я запускаю его в Запуск от имени администратора режим. Вместо этого возвращается с этой ошибкой:

Microsoft.AspNetCore.Server.Kestrel [0] Невозможно запустить Kestrel. System. Net .Sockets.SocketException (10013): Предпринята попытка получить доступ к сокету способом, запрещенным его правами доступа.

Любая помощь будет принята с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...