Как изменить хост/порт по умолчанию в приложениях .NET Core

7 feb 2024 2 min di lettura
Как изменить хост/порт по умолчанию в приложениях .NET Core
Indice dei contenuti

Введение

В быстро развивающейся сфере веб-разработки.NET Core выделяется своей способностью эффективно создавать современные кроссплатформенные приложения. Ключевым аспектом развертывания этих приложений является настройка параметров сервера, в частности хоста и порта по умолчанию. В этом подробном руководстве рассматриваются различные методы настройки этих параметров, гарантирующие, что ваши приложения.NET Core будут работать именно там и так, как вы хотите.

Поймите основы

Приложения.NET по умолчанию настроены для запуска на порту по умолчанию и локальном IP-адресе. Хотя это подходит для ранней разработки, для различных производственных сценариев могут потребоваться определенные конфигурации по самым разным причинам, от протоколов безопасности до требований соответствия.

Изменение хоста и порта

Вы можете использовать один из 4 методов ниже, чтобы изменить хост и порт по умолчанию в основном приложении.NET:

Способ 1. Использование файла launchSettings.json.

Файл launchSettings.json является ориентиром для конфигураций среды разработки. Расположенный в папке «Свойства», он позволяет настраивать параметры среды, такие как разработка, промежуточный этап и производство.

{
 "iisSettings": {
 "windowsAuthentication": false,
 "anonymousAuthentication": true,
 "iisExpress": {
 "applicationUrl": "http://localhost:54321/",
 "sslPort": 0
 }
 },
 "profiles": {
 "IIS Express": {
 "commandName": "IISExpress",
 "launchBrowser": true,
 "launchUrl": "weatherforecast",
 "environmentVariables": {
 "ASPNETCORE_ENVIRONMENT": "Development"
 }
 },
 "YourProjectName": {
 "commandName": "Project",
 "dotnetRunMessages": true,
 "launchBrowser": true,
 "applicationUrl": "https://localhost:5001;http://localhost:5000",
 "environmentVariables": {
 "ASPNETCORE_ENVIRONMENT": "Development"
 }
 }
 }
 }

Изменив свойство applicationUrl в профиле проекта, вы можете установить собственные URL-адреса.

Способ 2: программная конфигурация

Для большего контроля, особенно в рабочей среде, настройте хост и перенесите его непосредственно в файл Program.cs или Startup.cs, в зависимости от конфигурации вашего проекта.

.NET 5 или новее: В.NET 5 и более поздних версиях появился WebApplicationBuilder, изменивший способ настройки приложений.

var builder = WebApplication.CreateBuilder(args);

 builder.WebHost.ConfigureKestrel(serverOptions =>
 {
 serverOptions.Listen(System.Net.IPAddress.Any, 5000); //Listen on all network interfaces on port 5000
 });

 var app = builder.Build();
 app.MapGet("/", () => "Hello World!");
 app.Run();

.NET Core 3.1 или более ранней версии:

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
 WebHost.CreateDefaultBuilder(args).UseStartup().UseUrls("http://0.0.0.0:5000"); //Set custom host and port

Метод 3: переменные среды

Установка переменной среды ASPNETCORE_URLS — это эффективный способ определения URL-адресов, который особенно полезен в средах с докеризацией.

export ASPNETCORE_URLS="http://*:5000"

Эта конфигурация сообщает приложению прослушивать порт 5000 на всех IP-адресах.

Способ 4: использование appsettings.json

Для более постоянного решения, не требующего изменения кода или переменных среды, рассмотрите возможность использования файла appsettings.json. Этот метод позволяет вам устанавливать URL-адреса непосредственно в файле конфигурации вашего приложения.

{
 "Kestrel": {
 "Endpoints": {
 "Http": {
 "Url": "http://0.0.0.0:8000"
 },
 "Https": {
 "Url": "https://0.0.0.0:8001"
 }
 }
 }
 }

В этой конфигурации серверу Kestrel явно предлагается прослушивать протоколы HTTP и HTTPS с настраиваемыми портами и IP-адресами. Этот подход обеспечивает гибкость определения различных конечных точек и легко настраивается без изменения исходного кода приложения.

Заключение

Возможность настраивать параметры хоста и порта по умолчанию в приложениях.NET Core дает разработчикам гибкость для удовлетворения конкретных требований их сред развертывания. Будь то с помощью файла launchSettings.json для разработки, прямой программной настройки, переменных среды или файла appsettings.json для более широких настроек приложения,.NET Core предлагает ряд возможностей, обеспечивающих доступность и безопасность ваших приложений в соответствии с вашими конкретными эксплуатационными потребностями.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.