Quando uma aplicação Blazor Server é iniciada e exibe a mensagem de escuta em localhost, ela está acessível apenas na máquina local. O localhost é um nome de host especial que aponta sempre para o computador local, não respondendo a pedidos de rede vindos de outros dispositivos.
Para permitir que a aplicação seja acessível na rede local, é necessário configurá-la para ouvir em todas as interfaces de rede disponíveis. Isto envolve ajustar a configuração do servidor Kestrel para se ligar a 0.0.0.0 (todos os endereços IPv4) ou [::] (todos os endereços IPv6), em vez de apenas localhost.
Procedimento para configurar o Kestrel:
-
Alterar as definições da aplicação:
No ficheiroappsettings.json, adicione ou modifique a secção do Kestrel para usar um endereço genérico: ``` { "Kestrel": { "Endpoints": { "Http": { "Url": "http://0.0.0.0:8080" } } } }Para incluir suporte a HTTP e HTTPS, utilize esta configuração: ``` { "Kestrel": { "Endpoints": { "Http": { "Url": "http://0.0.0.0:8080" }, "Https": { "Url": "https://0.0.0.0:8443", "Certificate": { "Path": "caminho/para/certificado.pfx", "Password": "senha_do_certificado" } } } } } -
Configuração via código:
Alternativamente, configure o Kestrel diretamente no código-fonte, como no ficheiroProgram.cs: ``` using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting;public class Programa { public static void Main(string[] args) { IniciarHost(args).Build().Run(); }
public static IHostBuilder IniciarHost(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(construtorWeb => { construtorWeb.UseKestrel(opcoes => { opcoes.ListenAnyIP(8080); // Para ativar HTTPS, descomente as linhas abaixo: // opcoes.ListenAnyIP(8443, opcoesEscuta => // { // opcoesEscuta.UseHttps(httpsOpcoes => // { // httpsOpcoes.SslServerCertificate = new X509Certificate2("caminho/para/certificado.pfx", "senha_do_certificado"); // }); // }); }) .UseStartup<Startup>(); });}
-
Reiniciar a aplicação:
Após efetuar as alterações, reinicie a aplicação Blazor Server para aplicar as novas configurações. -
Ajustar regras de firewall:
Assegure-se de que o firewall do servidor permite tráfego na porta escolhida (por exemplo, 8080). -
Testar o acesso:
Noutro computador na rede local, aceda à aplicação usando o endereço IP do servidor e a porta configurada. Exemplo: se o IP for192.168.1.100, navegue parahttp://192.168.1.100:8080.
Se a aplicação for exposta na internet ou lidar com dados sensíveis, é altamente recomendável utiliazr HTTPS para proteger a transmissão de dados. Verifique também as configurações de rede e firewall para evitar acessos não autorizados.