Ответ 1
Основы. Использование 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.
Однако SSL не будет работать с
UseUrls()
метод --- так, это означает, что если вы пытаетесь добавить URL, начинающиеся сhttps://
программа будет бросать исключениеSystem.InvalidOperationException: HTTPS endpoints can only be configured using KestrelServerOptions.Listen().
Конечная точка конфигурации. Использование HTTPS и привязка SSL-сертификата
Конечные точки HTTPS могут быть настроены только с использованием KestrelServerOptions
.
Вот пример использования TCP-сокетов с использованием метода Listen
:
WebHost.CreateDefaultBuilder(args)
.UseKestrel(options =>
{
options.Listen(IPAddress.Loopback, 5000); // http:localhost:5000
options.Listen(IPAddress.Any, 80); // http:*:80
options.Listen(IPAddress.Loopback, 443, listenOptions =>
{
listenOptions.UseHttps("certificate.pfx", "password");
});
})
.UseStartup<Startup>()
.Build();
Примечание. Если вы используете метод Listen
и UseUrls
, конечные точки Listen
переопределяют UseUrls
точки UseUrls
.
Вы можете найти более подробную информацию о настройке конечных точек здесь на официальных документах Microsoft.
Если вы используете IIS, привязки URL для IIS переопределяют любые привязки, которые вы установили, вызывая
Listen
илиUseUrls
. Для получения дополнительной информации см. Введение в основной модуль ASP.NET.