Nasazení aplikací ASP.NET Core pro Azure App Service

Azure App Service je platforma cloud computingu od Microsoftu pro hostování webových aplikací, včetně ASP.NET Core.

Užitečné materiály

Dokumentace k App Service je Domovská stránka pro Azure Apps, kurzy, ukázky, návody a další materiály. Existují dva významné kurzy, které se týkají hostování ASP.NET Corech aplikací:

Vytvoření webové aplikace ASP.NET Core v Azure
Pomocí sady Visual Studio můžete vytvořit a nasadit webovou aplikaci ASP.NET Core pro Azure App Service ve Windows.

Vytvoření aplikace ASP.NET Core v App Service v systému Linux
Pomocí příkazového řádku můžete vytvořit a nasadit webovou aplikaci ASP.NET Core pro Azure App Service v systému Linux.

Verzi ASP.NET Core dostupnou ve službě Azure App Service najdete na App Service řídicím panelu ASP.NET Core .

Přihlaste se k odběru úložiště oznámení App Service a sledujte problémy. Tým App Service pravidelně publikuje oznámení a scénáře, které dorazí v App Service.

V dokumentaci k ASP.NET Core jsou k dispozici následující články:

Publikování ASP.NET Core aplikace do Azure pomocí Visual Studio
Naučte se publikovat aplikaci ASP.NET Core pro Azure App Service pomocí sady Visual Studio.

<xref:host-and-deploy/azure-apps/azure-continuous-deployment>
Naučte se, jak vytvořit webovou aplikaci ASP.NET Core pomocí sady Visual Studio a nasadit ji do Azure App Service pomocí Gitu pro průběžné nasazování.

Vytvoření prvního kanálu
Nastavte sestavení CI pro aplikaci ASP.NET Core a pak vytvořte Azure App Service vydanou verzi pro průběžné nasazování.

Sandbox webové aplikace Azure
Zjištění omezení spouštění Azure App Service runtime, která vynutila platforma Azure Apps

řešení potíží a ladění ASP.NET Corech projektů
Pochopení a řešení potíží s chybami a problémy s ASP.NET Core projekty.

Konfigurace aplikací

Platforma

Architektura platformy (x86/x64) aplikace App Services je nastavená v nastavení aplikace na webu Azure Portal pro aplikace, které jsou hostované v úrovni hostování A-Series COMPUTE (Basic) nebo vyšší. Ověřte, že nastavení publikování aplikace (například v profilu publikování sady Visual Studio (. pubxml)) odpovídá nastavení v konfiguraci služby aplikace na webu Azure Portal.

V Azure App Service jsou k dispozici moduly runtime pro 64 (x64) a 32-bit (x86) aplikací. .NET Core SDK k dispozici v App Service je 32-bit, ale můžete nasadit 64 aplikace sestavené místně pomocí konzoly Kudu nebo procesu publikování v aplikaci Visual Studio. Další informace najdete v části publikování a nasazení aplikace .

Pro aplikace s nativními závislostmi jsou moduly runtime pro 32 aplikace (x86) k dispozici na Azure App Service. .NET Core SDK k dispozici v App Service je 32-bit.

Další informace o komponentách rozhraní .NET Core Framework a metodách distribuce, jako jsou informace o modulu runtime .NET Core a .NET Core SDK, naleznete v tématu About .NET Core: kompozice.

Balíčky

Zahrňte následující balíčky NuGet pro poskytování automatických funkcí protokolování pro aplikace nasazené do Azure App Service:

Předchozí balíčky nejsou k dispozici ve službě Microsoft. AspNetCore. app Metapackage. Aplikace, které .NET Framework cílí na Metapackage nebo odkazují na Microsoft.AspNetCore.App , musí explicitně odkazovat na jednotlivé balíčky v souboru projektu aplikace.

Přepsání konfigurace aplikace pomocí webu Azure Portal

Nastavení aplikace na webu Azure Portal umožňuje nastavit proměnné prostředí pro aplikaci. Proměnné prostředí mohou být spotřebovány poskytovatelem konfigurace proměnných prostředí.

Když se na webu Azure Portal vytvoří nebo upraví nastavení aplikace a vybere se tlačítko Save (Uložit ), aplikace Azure se restartuje. Proměnná prostředí je k dispozici aplikaci po restartování služby.

Když aplikace používá obecného hostitele, proměnné prostředí se načtou do konfigurace aplikace, když CreateDefaultBuilder se volá k sestavení hostitele. Další informace naleznete v tématu Obecný hostitel .NET v ASP.NET Core a zprostředkovatel konfigurace proměnných prostředí.

Nastavení aplikace na webu Azure Portal umožňuje nastavit proměnné prostředí pro aplikaci. Proměnné prostředí mohou být spotřebovány poskytovatelem konfigurace proměnných prostředí.

Když se na webu Azure Portal vytvoří nebo upraví nastavení aplikace a vybere se tlačítko Save (Uložit ), aplikace Azure se restartuje. Proměnná prostředí je k dispozici aplikaci po restartování služby.

Když aplikace používá webového hostitele, proměnné prostředí se načtou do konfigurace aplikace, když CreateDefaultBuilder se volá k sestavení hostitele. Další informace naleznete v tématu ASP.NET Core Webový hostitel a zprostředkovatel konfigurace proměnných prostředí.

Scénáře proxy serveru a nástroje pro vyrovnávání zatížení

IIS Integration middleware, který konfiguruje přesměrované hlavičky middlewaru při hostování mimo procesa modul ASP.NET Core je nakonfigurován pro přeposílání schématu (http/https) a vzdálené IP adresy, na které pochází požadavek. Pro aplikace hostované za dalšími proxy servery a nástroji pro vyrovnávání zatížení může být vyžadována další konfigurace. Další informace najdete v tématu konfigurace ASP.NET Core pro práci se servery proxy a nástroji pro vyrovnávání zatížení.

Monitorování a protokolování

Aplikace ASP.NET Core nasazené pro App Service automaticky dostanou rozšíření App Service ASP.NET Core Integration Logging. Rozšíření umožňuje integraci protokolování pro aplikace ASP.NET Core v Azure App Service.

Aplikace ASP.NET Core nasazené pro App Service automaticky dostanou rozšíření App Service ASP.NET Core rozšíření protokolování. Rozšíření umožňuje integraci protokolování pro aplikace ASP.NET Core v Azure App Service.

Informace o monitorování, protokolování a odstraňování potíží najdete v následujících článcích:

Monitorování aplikací v Azure App Service
Naučte se kontrolovat kvóty a metriky pro aplikace a App Service plány.

Povolit protokolování diagnostiky pro aplikace v Azure App Service
Zjistěte, jak povolit a získat přístup k protokolování diagnostiky pro stavové kódy HTTP, neúspěšné žádosti a aktivitu webového serveru.

Zpracování chyb v ASP.NET Core
Seznamte se s běžnými přístupy ke zpracování chyb v aplikacích ASP.NET Core.

Řešení ASP.NET Core potíží s Azure App Service a službou IIS
Naučte se diagnostikovat problémy s Azure App Service nasazeními s ASP.NET Core aplikacemi.

Referenční informace k běžným chybám Azure App Service a IIS s ASP.NET Core
Projděte si nejčastější chyby konfigurace nasazení pro aplikace hostované službou Azure App Service/IIS s pokyny k řešení potíží.

Kroužky klíčů pro ochranu dat a sloty nasazení

Klíče ochrany dat jsou trvale uložené ve složce %Home%\ASP.NET\DataProtection-Keys . Tato složka je zajištěná síťovým úložištěm a je synchronizovaná napříč všemi počítači hostujícími aplikaci. Klíče nejsou chráněny v klidovém umístění. Tato složka poskytuje klíčového prstence pro všechny instance aplikace v jednom slotu nasazení. Samostatné sloty nasazení, jako je například pracovní a produkční, nesdílejte klíč Ring.

Při záměně mezi sloty nasazení nebude možné dešifrovat uložená data pomocí nástroje Data Protection, a to pomocí klíčeového kruhu v předchozí pozici. CookieMiddleware ASP.NET používá ochranu dat k ochraně svých cookie s. To vede k tomu, že se uživatelé odhlásí z aplikace, která používá ASP.NET Cookie middleware Standard. Pro řešení Key Ring nezávislé na slotech použijte externího poskytovatele služby Key Ring, například:

  • Azure Blob Storage
  • Azure Key Vault
  • Úložiště SQL
  • Redis Cache

Další informace naleznete v tématu Zprostředkovatelé úložiště klíčů v ASP.NET Core.

Nasazení aplikace ASP.NET Core, která používá .NET Core Preview

Pokud chcete nasadit aplikaci, která používá verzi Preview rozhraní .NET Core, Projděte si následující zdroje informací. Tyto přístupy se používají také v případě, že je modul runtime k dispozici, ale sada SDK nebyla nainstalována na Azure App Service.

Verzi ASP.NET Core dostupnou ve službě Azure App Service najdete na App Service řídicím panelu ASP.NET Core .

Určení verze .NET Core SDK pomocí Azure Pipelines

Pomocí Azure App Service scénářů CI/CD můžete nastavit průběžnou integraci sestavení s využitím Azure DevOps. Po vytvoření sestavení Azure DevOps můžete nakonfigurovat sestavení tak, aby používalo konkrétní verzi sady SDK.

Zadejte verzi .NET Core SDK

Při použití centra nasazení App Service k vytvoření buildu služby Azure DevOps obsahuje výchozí kanál sestavení kroky pro Restore ,, a Build Test Publish . Chcete-li zadat verzi sady SDK, přidejte nový krok kliknutím na tlačítko Přidat (+) v seznamu úloh agenta. Na panelu hledání vyhledejte .NET Core SDK .

Přidat .NET Core SDK krok

Přesuňte krok do první pozice v sestavení tak, aby následující kroky používaly určenou verzi .NET Core SDK. Zadejte verzi .NET Core SDK. V tomto příkladu je sada SDK nastavena na 3.0.100 .

Krok dokončené sady SDK

Pro publikování samostatně zahrnutého nasazení (SCD)nakonfigurujte SCD v Publish kroku a zadejte identifikátor modulu runtime (RID).

Publikování samostatného kontejneru

Nasazení samostatné aplikace ve verzi Preview

Samostatné nasazení (SCD) , které cílí na modul runtime verze Preview, přenáší modul runtime verze Preview do nasazení.

Při nasazení samostatně obsažené aplikace:

Postupujte podle pokynů v části nasazení samostatně obsaženého oddílu aplikace .

Použití Docker s Web Apps pro kontejnery

Dokovací centrum obsahuje nejnovější image Docker Preview. Obrázky lze použít jako základní bitovou kopii. Použijte image a nasaďte ji normálně pro Web Apps kontejnerů.

Nainstalovat rozšíření webu verze Preview

Pokud dojde k potížím pomocí rozšíření webu verze Preview, otevřete problém dotnet/AspNetCore.

  1. Na webu Azure Portal přejděte na App Service.
  2. Vyberte webovou aplikaci.
  3. Do vyhledávacího pole zadejte "ex", chcete-li filtrovat "rozšíření", nebo se posuňte dolů v seznamu nástrojů pro správu.
  4. Vyberte Rozšíření.
  5. Vyberte Přidat.
  6. V seznamu vyberte rozšíření Runtime ASP.NET Core {X. Y} ({x64 | x86}) , kde {X.Y} je verze Preview ASP.NET Core a {x64|x86} specifikuje platformu.
  7. Kliknutím na OK přijměte právní podmínky.
  8. Pro instalaci rozšíření vyberte OK .

Po dokončení operace je nainstalovaná nejnovější verze .NET Core Preview. Ověřte instalaci:

  1. Vyberte Rozšířené nástroje.

  2. Vyberte Přejít v pokročilých nástrojích.

  3. Vyberte Debug console > položku nabídkyprostředí PowerShell konzoly ladění.

  4. Na příkazovém řádku PowerShellu spusťte následující příkaz. Nahraďte verzi ASP.NET Core Runtime pro {X.Y} a platformu pro {PLATFORM} v příkazu:

    Test-Path D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.{PLATFORM}\
    

    Příkaz vrátí, True když je nainstalován modul runtime x64 Preview.

Poznámka

Architektura platformy (x86/x64) aplikace App Services je nastavená v nastavení aplikace na webu Azure Portal pro aplikace, které jsou hostované v úrovni hostování A-Series COMPUTE (Basic) nebo vyšší. Ověřte, že nastavení publikování aplikace (například v profilu publikování sady Visual Studio (. pubxml)) odpovídá nastavení v konfiguraci služby aplikace v Azure Portal.

Pokud je aplikace spuštěná v režimu v procesu a architektura platformy je nakonfigurovaná pro 64-bit (x64), modul ASP.NET Core používá 64 runtime Preview, pokud je k dispozici. Nainstalujte rozšíření Runtime ASP.NET Core {X. Y} (x64) pomocí webu Azure Portal.

Po instalaci prostředí runtime x64 Preview spusťte následující příkaz v příkazovém okně Azure Kudu PowerShell a ověřte instalaci. V následujícím příkazu nahraďte verzi ASP.NET Core Runtime pro {X.Y} :

Test-Path D:\home\SiteExtensions\AspNetCoreRuntime.{X.Y}.x64\

Příkaz vrátí, True když je nainstalován modul runtime x64 Preview.

Poznámka

Rozšíření ASP.NET Core umožňují pro ASP.NET Core v Azure App Services další funkce, jako je například povolení protokolování Azure. Rozšíření se nainstaluje automaticky při nasazení ze sady Visual Studio. Pokud rozšíření není nainstalované, nainstalujte ho pro aplikaci.

Použití rozšíření webu ve verzi Preview se šablonou ARM

Pokud se k vytváření a nasazování aplikací používá šablona ARM, siteextensions typ prostředku se dá použít k přidání rozšíření webu do webové aplikace. Příklad:

{
    ...
    "parameters": {
        "site_name": {
            "defaultValue": "{SITE NAME}",
            "type": "String"
        },
        ...
    },       
    ...
    "resources": [
        ...
        {
            "type": "Microsoft.Web/sites/siteextensions",
            "apiVersion": "2018-11-01",
            "name": "[concat(parameters('site_name'), '/AspNetCoreRuntime.5.0.x64')]",
            "location": "[resourceGroup().location]",
            "dependsOn": [
                "[resourceId('Microsoft.Web/sites', parameters('site_name'))]"
            ]
        }
    ]
}
    

Publikování a nasazení aplikace

Pro 64 nasazení:

  • K vytvoření 64 aplikace použijte 64 .NET Core SDK.
  • V Configurationobecných nastaveních konfigurace App Service nastavte platformou na 64 bit > General settings. Aby bylo možné vybrat bitová verze platformy, musí aplikace používat základní nebo vyšší plán služby.

Nasazení závislého rozhraní App Framework

  1. Vyberte sestavení > Publikovat {název aplikace} z panelu nástrojů sady Visual Studio nebo klikněte pravým tlačítkem na projekt v Průzkumník řešení a vyberte publikovat.
  2. V dialogovém okně vybrat cíl publikování potvrďte, že je vybrána možnost App Service .
  3. Vyberte Upřesnit. Otevře se dialogové okno publikovat .
  4. V dialogovém okně publikovat :
    • Potvrďte, že je vybraná konfigurace vydané verze .
    • Otevřete rozevírací seznam režim nasazení a vyberte možnost závislé na rozhraní.
    • Jako cílový modul runtimevyberte přenosný .
    • Pokud potřebujete po nasazení odebrat další soubory, otevřete Možnosti publikování souborů a zaškrtnutím políčka odeberte další soubory v cílovém umístění.
    • Vyberte Uložit.
  5. Pomocí zbývajících výzev Průvodce publikováním vytvořte novou lokalitu nebo aktualizujte existující web.

Nasazení samostatně obsažené aplikace

Použijte aplikaci Visual Studio nebo .NET Core CLI pro samostatně obsažené nasazení (SCD).

  1. Vyberte sestavení > Publikovat {název aplikace} z panelu nástrojů sady Visual Studio nebo klikněte pravým tlačítkem na projekt v Průzkumník řešení a vyberte publikovat.
  2. V dialogovém okně vybrat cíl publikování potvrďte, že je vybrána možnost App Service .
  3. Vyberte Upřesnit. Otevře se dialogové okno publikovat .
  4. V dialogovém okně publikovat :
    • Potvrďte, že je vybraná konfigurace vydané verze .
    • Otevřete rozevírací seznam režim nasazení a vyberte možnost samostatně obsaženo.
    • Z rozevíracího seznamu cílový modul runtime vyberte cílový modul runtime. Výchozí formát je win-x86.
    • Pokud potřebujete po nasazení odebrat další soubory, otevřete Možnosti publikování souborů a zaškrtnutím políčka odeberte další soubory v cílovém umístění.
    • Vyberte Uložit.
  5. Pomocí zbývajících výzev Průvodce publikováním vytvořte novou lokalitu nebo aktualizujte existující web.

Nastavení protokolu (HTTPS)

Vazby zabezpečeného protokolu umožňují zadat certifikát, který se má použít při reagování na požadavky přes protokol HTTPS. Vazba vyžaduje platný privátní certifikát (. pfx), který byl vydán pro konkrétní název hostitele. Další informace najdete v tématu kurz: vytvoření vazby existujícího vlastního certifikátu SSL k Azure App Service.

Transformace souboru web.config

Pokud potřebujete transformovat web.config při publikování (například nastavit proměnné prostředí na základě konfigurace, profilu nebo prostředí), přečtěte si téma Transformace souboru web.config .

Další zdroje informací

Azure App Service na Windows serveru používá Internetová informační služba (IIS). Následující témata se týkají základní technologie IIS: