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:

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)

  1. Execute o instalador no servidor IIS.

  2. Reinicie o servidor ou execute net stop was /y seguido de net start w3svc em um shell de comando.

Criar o site do IIS

  1. 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.

  2. 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.

  3. 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/ e http://+: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.

  4. Confirme se a identidade do modelo de processo tem as permissões apropriadas.

    Se você alterar a identidade padrão do pool de aplicativos (Modelo de Processo>Identity) de ApplicationPoolIdentity para outra, verifique se a nova identidade 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).
  1. Clique com o botão direito do mouse no projeto, no Gerenciador de Soluções, e selecione Publicar.
  2. Na caixa de diálogo Escolher um destino de publicação, selecione a opção de publicação de Pasta.
  3. 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.
  4. 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

Artigos referentes à 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