首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将外部域绑定到.NET Core3.1Kestrel自托管应用程序?

问如何将外部域绑定到.NET Core3.1Kestrel自托管应用程序?
EN

Stack Overflow用户
提问于 2020-04-13 18:25:28
回答 1查看 1.3K关注 0票数 2

我有一个简单的.NET Core3.1自托管的Kestrel应用程序。发布到我的服务器后,它在http://localhost:5000上正确运行。

我想通过远程浏览器访问这个应用程序,所以我将Program.cs更改如下:

代码语言:javascript
复制
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不支持端口转发。而且,Cloudflare中的Portzilla应用程序对我没有任何用处。

到目前为止,我已经向服务器添加了一个新的IP (比方说112.250.22.33),并尝试将应用程序配置为侦听这个特定IP地址的端口80:

代码语言:javascript
复制
webBuilder.ConfigureKestrel(so =>
{
    so.Listen(IPAddress.Parse("112.250.22.33"), 80); //==> NOT OK
});

但是,使用此配置,应用程序根本不运行--即使我以管理员模式运行它。相反,它将返回以下错误:

Microsoft.AspNetCore.Server.Kestrel无法启动Kestrel。System.Net.Sockets.SocketException (10013):尝试以其访问权限禁止的方式访问套接字。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-06-09 11:58:44

我不确定,但看起来IIS持有的是80端口。我禁用了DefaultWebSite,可以将域名绑定到本地Kestrel运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61194206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档