要让ASP .NET Core 应用程序运行在外部世界可访问的Linux 上,需要注意什么?
在Linux上运行我的应用程序,如:dotnet bin/Release/net5.0/app-name.dll
一切似乎都很好--但我不能在这里访问http://the-ip-address:port_number和https://...上的应用程序。
日志里一切都很好。但目前还无法访问该应用程序。
我显然错过了什么..。但我不确定是什么。
我现在还没有使用反向代理。虽然我确实尝试过,但在这个阶段,ASP .Net应用程序似乎存在问题。
任何指示都将不胜感激。
发布于 2021-11-18 13:21:55
您应该在program.cs配置中设置Kestrel侦听IP和端口,如下所示:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder
.UseKestrel()
.UseUrls("http://0.0.0.0:80", "https://0.0.0.0:443")
.UseStartup<Startup>();
});.UseKestrel()确定您使用的是kestrel而不是IIS来承载和运行应用程序。
.UseUrls("http://0.0.0.0:80", "https://0.0.0.0:443")意味着您的VPS通过带有Http和Https端口的主IP地址向客户端提供应用程序。
您必须在Linux防火墙中打开Http和Https端口,检查是否存在物理或云防火墙。
https://stackoverflow.com/questions/69660355
复制相似问题