基础知识:使用服务器URL
如果您想将服务器关联到使用分配给服务器/网络主机的所有IP地址,则可以执行以下操作:
WebHost.CreateDefaultBuilder(args)
.UseUrls("http://localhost:5000", "http://*:80")
.UseStartup<Startup>()
.Build();
注意:在
UseUrls()
方法中使用的字符串格式是:
http://{ip address}:{port number}
。
- 如果您在IP地址处使用
*
(星号),则表示主机上所有可用的IP地址。
- 端口号不是必需的。如果留空,它将默认为端口80。
有关
UseUrls()
方法的更多详细信息,请参阅
此处的官方Microsoft Docs。
然而,
UseUrls()
方法不能与SSL一起使用——这意味着,如果您尝试添加以
https://
开头的URL,则程序将抛出异常。
System.InvalidOperationException:
HTTPS endpoints can only be configured using KestrelServerOptions.Listen().
端点配置。使用HTTPS并绑定SSL证书
只能使用KestrelServerOptions
配置HTTPS端点。
以下是使用Listen
方法使用TCP套接字的示例:
WebHost.CreateDefaultBuilder(args)
.UseKestrel(options =>
{
options.Listen(IPAddress.Loopback, 5000);
options.Listen(IPAddress.Any, 80);
options.Listen(IPAddress.Loopback, 443, listenOptions =>
{
listenOptions.UseHttps("certificate.pfx", "password");
});
})
.UseStartup<Startup>()
.Build();
注意:如果您同时使用
Listen
方法和
UseUrls
方法,则
Listen
端点将覆盖
UseUrls
端点。
有关设置端点的更多信息,请在
此处查看官方Microsoft文档。
如果您使用IIS,则IIS的URL绑定将覆盖通过调用
Listen
或
UseUrls
设置的任何绑定。有关更多信息,请参见
ASP.NET Core模块介绍。