Cómo cambiar el host/puerto predeterminado en aplicaciones .NET Core

7 feb 2024 2 min di lettura
Cómo cambiar el host/puerto predeterminado en aplicaciones .NET Core
Indice dei contenuti

Introducción

En el panorama del desarrollo web en rápida evolución,.NET Core se destaca por su capacidad para crear de manera eficiente aplicaciones modernas y multiplataforma. Un aspecto clave de la implementación de estas aplicaciones es configurar los ajustes del servidor, específicamente el host y el puerto predeterminados. Esta guía completa profundiza en varios métodos para personalizar estas configuraciones, garantizando que sus aplicaciones.NET Core se ejecuten exactamente dónde y cómo las desea.

Comprender los conceptos básicos

Las aplicaciones.NET, de forma predeterminada, están configuradas para ejecutarse en un puerto predeterminado y una dirección IP local. Si bien es adecuado para el desarrollo inicial, diferentes escenarios de producción pueden requerir configuraciones específicas por razones que van desde protocolos de seguridad hasta requisitos de cumplimiento.

Cambiar el host y el puerto

Puede utilizar uno de los 4 métodos siguientes para cambiar el host y el puerto predeterminados en una aplicación principal.NET:

Método 1: usar el archivo launchSettings.json

El archivo launchSettings.json es el punto de referencia para las configuraciones del entorno de desarrollo. Ubicado dentro de la carpeta Propiedades, permite configuraciones específicas del entorno, como Desarrollo, Puesta en escena y Producción.

{
 "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"
 }
 }
 }
 }

Al cambiar la propiedad applicationUrl en el perfil de su proyecto, puede establecer URL personalizadas.

Método 2: configuración programática

Para obtener más control, especialmente en producción, configure el host y transfiéralo directamente al archivo Program.cs o Startup.cs, según la configuración de su proyecto.

.NET 5 o posterior:.NET 5 y posteriores introdujeron WebApplicationBuilder, alterando la forma en que se configuran las aplicaciones.

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 o anterior:

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

Método 3: variables de entorno

Configurar la variable de entorno ASPNETCORE_URLS es una forma eficaz de definir URL, especialmente útil en entornos dockerizados.

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

Esta configuración le dice a la aplicación que escuche en el puerto 5000 en todas las direcciones IP.

Método 4: usar appsettings.json

Para obtener una solución más permanente que no requiera cambiar el código o las variables de entorno, considere usar el archivo appsettings.json. Este método le permite configurar URL directamente en el archivo de configuración de su aplicación.

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

En esta configuración, se solicita explícitamente al servidor Kestrel que escuche en los protocolos HTTP y HTTPS, con puertos y direcciones IP personalizables. Este enfoque ofrece flexibilidad para definir diferentes puntos finales y se ajusta fácilmente sin cambiar el código fuente de la aplicación.

Conclusión

La capacidad de personalizar la configuración predeterminada de host y puerto en aplicaciones.NET Core brinda a los desarrolladores la flexibilidad para cumplir con los requisitos específicos de sus entornos de implementación. Ya sea a través de launchSettings.json para desarrollo, configuración programática directa, variables de entorno o el archivo appsettings.json para configuraciones de aplicaciones más amplias,.NET Core ofrece una variedad de opciones para garantizar que sus aplicaciones sean accesibles y seguras, satisfaciendo sus necesidades operativas específicas.

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.