Compartilhar via


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.

Prerequisites

  • SDK do .NET Core instalado no computador de desenvolvimento.
  • O Windows Server foi configurado com a função de servidor Servidor Web (IIS). If your server isn't configured to host websites with IIS, follow the guidance in the IIS configuration section of the Host ASP.NET Core on Windows with IIS article and then return to this tutorial.

Warning

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. In IIS Manager, open the server's node in the Connections panel. Right-click the Sites folder. Select Add Website from the contextual menu.

  3. Provide a Site name and set the Physical path to the app's deployment folder that you created. Provide the Binding configuration and create the website by selecting OK.

    Warning

    Top-level wildcard bindings (http://*:80/ and http://+:80) should not be used. 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 adequadas.

    If the default identity of the app pool (Process Model>Identity) is changed from ApplicationPoolIdentity to another identity, verify that the new identity has the required permissions to access the app's folder, database, and other required resources. 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 ASP.NET Core

Crie qualquer tipo de aplicativo baseado em servidor ASP.NET Core.

Note

Este tutorial baseia-se na hospedagem de um aplicativo ASP.NET Core do lado do servidor com o IIS, incluindo um Blazor Web App. Para obter diretrizes sobre como hospedar e implantar um aplicativo autônomo Blazor WebAssembly com o IIS, consulte Hospedar e implantar ASP.NET Core Blazor WebAssembly com o IIS.

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. This tutorial adopts the folder deployment approach, where:

  • O aplicativo é publicado em uma pasta.
  • The folder's contents are moved to the IIS site's folder (the Physical path to the site in IIS Manager).
  1. Right-click on the project in Solution Explorer and select Publish.
  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.
    • If you're unable to deploy directly to the IIS site folder on the IIS server, publish to a folder on removable media and physically move the published app to the IIS site folder on the server, which is the site's Physical path in IIS Manager. Move the contents of the bin/Release/{TARGET FRAMEWORK}/publish folder to the IIS site folder on the server, which is the site's Physical path in IIS Manager.
  4. Select the Publish button.

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.

Next steps

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:

Additional resources

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