Publicar um aplicativo ASP.NET Core no IIS
Este tutorial mostra como hospedar um aplicativo ASP.NET Core em um servidor IIS.
Este tutorial aborda os seguintes assuntos:
- Instale o .NET Core Hosting Bundle no Windows Server.
- Crie um site do IIS no Gerenciador do IIS.
- Implante um aplicativo ASP.NET Core.
Pré-requisitos
- SDK do .NET Core instalado na máquina de desenvolvimento.
- Windows Server configurado com a função de servidor Servidor Web
(IIS). Se o servidor não estiver configurado para hospedar sites com o IIS, siga as orientações na seção de configuração do IIS do artigo Host ASP.NET Core no Windows com IIS e retorne a este tutorial.
Advertência
A configuração do IIS e a segurança do site envolvem conceitos que não são abordados neste tutorial. Consulte as orientações do IIS no de documentação do
Cenários importantes para hospedagem do IIS não cobertos por este tutorial incluem:
- Criação de uma seção de registro para ASP.NET Core Data Protection
- Configuração da Lista de Controle de Acesso (ACL) do pool de aplicativos
- Para se concentrar nos conceitos de implantação do IIS, este tutorial implanta um aplicativo sem segurança HTTPS configurada no IIS. Para obter mais informações sobre como hospedar um aplicativo habilitado para o protocolo HTTPS, consulte os tópicos de segurança na seção
Recursos adicionais deste artigo. Orientações adicionais para hospedar apps ASP.NET Core são fornecidas no artigo Host ASP.NET Core no Windows com IIS.
Instale o .NET Core Hosting Bundle
Instale o .NET Core Hosting Bundle no servidor IIS. O pacote instala o .NET Core Runtime, o .NET Core Library e o ASP.NET Core Module. O módulo permite que os aplicativos ASP.NET Core sejam executados atrás do IIS.
Faça o download do instalador usando o seguinte link:
instalador atual do .NET Core Hosting Bundle (download direto)
Execute o instalador no servidor IIS.
Reinicie o servidor ou execute
net stop was /y
seguido pornet start w3svc
em um shell de comando.
Criar o site do IIS
No servidor IIS, crie uma pasta para conter as pastas e os arquivos publicados do aplicativo. Em uma etapa a seguir, o caminho da pasta é fornecido ao IIS como o caminho físico para o aplicativo. Para obter mais informações sobre a pasta de implantação e o layout de arquivo de um aplicativo, consulte ASP.NET Estrutura de diretório principal.
No Gestor do IIS, abra o nó do servidor no painel Conexões. Clique com o botão direito do rato na pasta Sites. Selecione Adicionar sítio web no menu contextual.
Forneça um Nome do site e defina o caminho Físico para a pasta de implantação do aplicativo que você criou. Forneça a configuração de Binding e proceda à criação do site ao selecionar OK.
Advertência
As ligações curinga de nível superior (
http://*:80/
ehttp://+:80
) não devem ser usadas. As associações wildcard de nível superior podem abrir o seu aplicativo para vulnerabilidades de segurança. Isso se aplica a curingas fortes e fracos. Utilize nomes de host explícitos em vez de caracteres curinga. A vinculação de curinga de subdomínio (por exemplo,*.mysub.com
) não apresenta este risco de segurança quando se controla todo o domínio pai (ao contrário de*.com
, que é vulnerável). Consulte RFC 9110: Semântica HTTP (Seção 7.2. Host e :authority) para obter mais informações.Confirme se a identidade do modelo de processo tem as permissões adequadas.
Se a identidade padrão do pool de aplicativos (Process Model>Identity) for alterada de
ApplicationPoolIdentity
para outra identidade, verifique se a nova identidade tem as permissões necessárias para acessar a pasta, o banco de dados e outros recursos necessários do aplicativo. Por exemplo, o pool de aplicativos requer acesso de leitura e gravação a pastas onde o aplicativo lê e grava arquivos.
Criar um aplicativo ASP.NET Core Razor Pages
Siga o tutorial Introdução ao ASP.NET Core para criar um aplicativo Razor Pages.
Publicar e implantar o aplicativo
Publicar um aplicativo significa produzir um aplicativo compilado que pode ser hospedado por um servidor. Implantar um aplicativo significa mover o aplicativo publicado para um sistema de hospedagem. A etapa de publicação é gerida pelo SDK do .NET Core , enquanto a etapa de implantação pode ser gerida de várias formas. Este tutorial adota a abordagem de implantação da pasta , onde:
- O aplicativo é publicado em uma pasta.
- O conteúdo da pasta é movido para a pasta do site do IIS (o caminho físico para o site no Gerenciador do IIS).
- Visual Studio
- da CLI do .NET
- Visual Studio para Mac
- Clique com o botão direito do mouse no projeto em Gerenciador de Soluções e selecione Publicar.
- Na caixa de diálogo Escolher um destino de publicação, selecione a opção de publicação Pasta.
- Defina o caminho da Pasta ou do Compartilhamento de Arquivos.
- Se você criou uma pasta para o site do IIS que está disponível na máquina de desenvolvimento como um compartilhamento de rede, forneça o caminho para o compartilhamento. O utilizador atual deve ter acesso de escrita para publicar na partilha.
- Se você não conseguir implantar diretamente na pasta do site do IIS no servidor IIS, publique em uma pasta em mídia removível e mova fisicamente o aplicativo publicado para a pasta do site do IIS no servidor, que é o caminho físico do site no Gerenciador do IIS. Mova o conteúdo da pasta
bin/Release/{TARGET FRAMEWORK}/publish
para a pasta do site do IIS no servidor, que corresponde ao "Caminho Físico" do site no Gerenciador do IIS.
- Selecione o botão Publicar.
Navegar no site
O aplicativo fica acessível em um navegador depois de receber a primeira solicitação. Faça uma solicitação para o aplicativo na associação de ponto de extremidade que você estabeleceu no Gerenciador do IIS para o site.
Próximos passos
Neste tutorial, você aprendeu como:
- Instale o .NET Core Hosting Bundle no Windows Server.
- Crie um site do IIS no Gerenciador do IIS.
- Implante um aplicativo ASP.NET Core.
Para saber mais sobre como hospedar aplicativos ASP.NET Core no IIS, consulte o artigo Visão geral do IIS:
Recursos adicionais
Artigos no conjunto de documentação ASP.NET Core
- ASP.NET módulo principal (ANCM) para IIS
- ASP.NET Estrutura de diretórios principal
- Solucionar problemas do ASP.NET Core no Serviço de Aplicativo do Azure e no IIS
- Aplicar HTTPS no ASP.NET Core
- WebSockets no IIS
Artigos referentes à implantação do aplicativo ASP.NET Core
- Publicar um aplicativo ASP.NET Core no Azure com o Visual Studio
- Publicar um aplicativo ASP.NET Core no Azure com o Visual Studio Code
- pt-PT: Perfis de publicação do Visual Studio (.pubxml) para a implementação de aplicações ASP.NET Core
Artigos sobre a configuração HTTPS do IIS
Artigos sobre IIS e Windows Server
Recursos de implantação para administradores do IIS
- Documentação do IIS
- Introdução ao Gerenciador do IIS no IIS
- Aplicação de .NET Core: implantação
- Módulo ASP.NET Core (ANCM) para IIS
- ASP.NET Estrutura de diretórios principal
- módulos do IIS com ASP.NET Core
- Solucionar problemas do ASP.NET Core no Serviço de Aplicativo do Azure e no IIS
- Solução de problemas de erro comum para o Serviço de Aplicativo do Azure e o IIS com ASP.NET Core
- Sessões persistentes com o Roteamento de Pedidos de Aplicação