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

Prerequisites

  • SDK do .NET Core instalado na máquina de desenvolvimento.
  • Windows Server 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 abordados neste tutorial. Consulte as orientações do IIS no de documentação do Microsoft IIS e o artigo ASP.NET Core sobre hospedagem com o IIS antes de hospedar aplicativos de produção no IIS.

Cenários importantes para hospedagem do IIS não cobertos por este tutorial incluem:

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)

  1. Execute o instalador no servidor IIS.

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

Criar o site do IIS

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

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

  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 a pastas onde o aplicativo lê e grava arquivos.

Criar uma aplicação ASP.NET Core

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

Note

Este tutorial é baseado no alojamento de uma aplicação ASP.NET Core no lado do servidor com o IIS, incluindo Blazor Web App. Para obter orientação sobre hospedagem e implantação de 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 é gerida pelo SDK do .NET Core , enquanto a etapa de implantação pode ser gerida de várias formas. 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 Pasta.
  3. 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.
    • 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.

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.

Next steps

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:

Additional resources

Artigos no conjunto de documentação 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