Publicar um aplicativo ASP.NET Core no IIS
Este tutorial mostra como hospedar um aplicativo ASP.NET Core em um servidor IIS.
Este tutorial cobre os seguintes assuntos:
- Instalar o Pacote de Hospedagem do .NET Core no Windows Server.
- Criar um site do IIS no Gerenciador do IIS.
- Implantar um aplicativo ASP.NET Core.
Pré-requisitos
- SDK do .NET Core instalado no computador de desenvolvimento.
- O Windows Server foi configurado com a função de servidor Servidor Web (IIS). Se o servidor não estiver configurado para hospedar sites com IIS, siga as diretrizes na seção Configuração de IIS do artigo Hospedar ASP.NET Core no Windows com IIS e, em seguida, retorne a este tutorial.
Aviso
A configuração do IIS e a segurança do site envolvem conceitos que não são cobertos por este tutorial. Consulte as diretrizes do IIS na documentação do IIS da Microsoft e o artigo ASP.NET Core sobre como hospedar com o IIS antes de hospedar aplicativos de produção no IIS.
Os cenários importantes para a hospedagem do IIS não cobertos por este tutorial incluem:
- Criação de um hive de Registro para proteção de dados de ASP.NET Core
- Configuração da ACL (lista de controle de acesso) 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, confira os tópicos de segurança na seção Recursos adicionais deste artigo. Outras diretrizes para hospedar aplicativos ASP.NET Core são fornecidas no artigo Hospedar ASP.NET Core no Windows com IIS.
Instalar o pacote de hospedagem do .NET Core
Instalar o Pacote de Hospedagem do .NET Core no servidor IIS. O pacote instala o Runtime .NET Core, a Biblioteca do .NET Core e o Módulo do ASP.NET Core. O módulo permite que aplicativos do ASP.NET Core sejam executados por trás do IIS.
Baixe o instalador usando o seguinte link:
Instalador de pacote de hospedagem do .NET Core atual (download direto)
Execute o instalador no servidor IIS.
Reinicie o servidor ou execute
net stop was /y
seguido denet start w3svc
em um shell de comando.
Criar o site do IIS
No servidor IIS, crie uma pasta para conter arquivos e pastas 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 o layout de arquivo e a pasta de implantação de um aplicativo, confira Estrutura de diretório do ASP.NET Core.
No Gerenciador do IIS, abra o nó do servidor no painel Conexões. Clique com botão direito do mouse na pasta Sites. Selecione Adicionar Site no menu contextual.
Forneça um Nome do site e defina o Caminho físico como a pasta de implantação do aplicativo que você criou. Forneça a configuração Associação e crie o site ao selecionar OK.
Aviso
Associações de curinga de nível superior (
http://*:80/
ehttp://+:80
) não devem ser usadas. Associações de curinga de nível superior podem abrir o aplicativo para vulnerabilidades de segurança. Isso se aplica a curingas fortes e fracos. Use nomes de host explícitos em vez de curingas. Associações de curinga de subdomínio (por exemplo,*.mysub.com
) não têm esse risco de segurança se você controlar o domínio pai completo (em vez de*.com
, o qual é vulnerável). Consulte RFC 9110: Semântica HTTP (Seção 7.2. Host e :autoridade) para obter mais informações.Confirme se a identity do modelo de processo tem as permissões apropriadas.
Se você alterar a identity padrão do pool de aplicativos (Modelo de Processo>Identity) de
ApplicationPoolIdentity
para outra identity, verifique se a nova identity tem as permissões necessárias para acessar a pasta do aplicativo, o banco de dados e outros recursos necessários. Por exemplo, o pool de aplicativos requer acesso de leitura e gravação às pastas nas quais o aplicativo lê e grava os arquivos.
Criar um aplicativo Páginas do Razor do ASP.NET Core
Siga o tutorial Introdução ao ASP.NET Core para criar um aplicativo Páginas do Razor.
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 é tratada pelo SDK do .NET Core, enquanto a etapa de implantação pode ser tratada por diversas abordagens. Este tutorial adota a abordagem de implantação de pasta, em que:
- 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).
- Clique com o botão direito do mouse no projeto, no 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 de Pasta.
- Defina o caminho Pasta ou Compartilhamento de arquivo.
- Se você criou uma pasta para o site do IIS que está disponível no computador de desenvolvimento como um compartilhamento de rede, forneça o caminho para o compartilhamento. O usuário atual deve ter acesso de gravação para publicar no compartilhamento.
- Se não for possível implantar diretamente na pasta do site de IIS no servidor IIS, publique em uma pasta na mídia removível e mova fisicamente o aplicativo publicado para a pasta do site de IIS no servidor, que é o Caminho físico do site no Gerente de IIS. Mova o conteúdo da pasta
bin/Release/{TARGET FRAMEWORK}/publish
para a pasta do site de IIS no servidor, que é o Caminho físico do site no Gerente de IIS.
- Clique no botão Publicar.
Procurar no site
O aplicativo pode ser acessado 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óximas etapas
Neste tutorial, você aprendeu a:
- Instalar o Pacote de Hospedagem do .NET Core no Windows Server.
- Criar um site do IIS no Gerenciador do IIS.
- Implantar um aplicativo ASP.NET Core.
Para saber mais sobre como hospedar aplicativos ASP.NET Core no IIS, confira o artigo Visão Geral do IIS:
Recursos adicionais
Artigos no conjunto de documentação do ASP.NET Core
- Módulo do ASP.NET Core(ANCM) para IIS
- Estrutura do diretório do ASP.NET Core
- Solucionar problemas do ASP.NET Core no Serviço de Aplicativo do Azure e no IIS
- Impor 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
- Perfis de publicação do Visual Studio (.pubxml) para a implantação do aplicativo 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 ISS
- Introdução ao Gerenciador do IIS no IIS
- Implantação de aplicativos do .NET Core
- Módulo do ASP.NET Core(ANCM) para IIS
- Estrutura do diretório do ASP.NET Core
- Módulos do IIS com o ASP.NET Core
- Solucionar problemas do ASP.NET Core no Serviço de Aplicativo do Azure e no IIS
- Solucionar problemas com erros comuns no Serviço de Aplicativo do Azure e no IIS com o ASP.NET Core
- Sessões fixas com roteamento de solicitação de aplicativo