Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa esercitazione mostra come ospitare un'app ASP.NET Core in un server IIS.
Questa esercitazione illustra le operazioni seguenti:
- Installare il bundle di hosting di.NET Core in Windows Server.
- Creare un sito IIS in Gestione IIS.
- Distribuire un'app ASP.NET Core.
Prerequisites
- .NET Core SDK installato nel computer di sviluppo.
- Windows Server configurato con il ruolo del server Server 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
La configurazione di IIS e la sicurezza del sito Web coinvolgono concetti non trattati in questa esercitazione. Consultare le linee guida per IIS nella documentazione di Microsoft IIS e l'articolo di ASP.NET Core sull'hosting con IIS prima di ospitare app di produzione in IIS.
Gli scenari importanti per l'hosting di IIS non trattati in questa esercitazione includono:
- Creazione di un hive del Registro di sistema per la protezione dei dati ASP.NET Core
- Configurazione dell'elenco di controllo di accesso (ACL) del pool di app
- Per concentrarsi sui concetti correlati alla distribuzione di IIS, questa esercitazione illustra come distribuire un'app senza sicurezza HTTPS configurata in IIS. For more information on hosting an app enabled for HTTPS protocol, see the security topics in the Additional resources section of this article. Altre indicazioni per l'hosting di app ASP.NET Core sono disponibili nell'articolo Host ASP.NET Core in Windows con IIS .
Installare il bundle di hosting .NET Core
Installare il bundle di hosting .NET Core nel server IIS. L'aggregazione installa il runtime di .NET Core, la libreria di .NET Core e il modulo ASP.NET Core. Il modulo consente l'esecuzione delle app ASP.NET Core dietro IIS.
Scaricare il programma di installazione mediante il collegamento seguente:
Programma di installazione del bundle di hosting .NET Core corrente (download diretto)
Eseguire il programma di installazione nel server IIS.
Riavviare il server o eseguire seguito
net stop was /ydanet start w3svcin una shell dei comandi.
Creare il sito IIS
Nel server IIS creare una cartella per contenere le cartelle e i file pubblicati dell'app. In un passaggio successivo, il percorso della cartella viene fornito a IIS come percorso fisico dell'app. Per altre informazioni sulla cartella di distribuzione e il layout dei file di un'app, vedere Struttura delle directory di ASP.NET Core.
In IIS Manager, open the server's node in the Connections panel. Right-click the Sites folder. Select Add Website from the contextual menu.
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/andhttp://+:80) should not be used. poiché possono introdurre vulnerabilità a livello di sicurezza nell'app. Questo concetto vale sia per i caratteri jolly sicuri che vulnerabili. Usare nomi host espliciti al posto di caratteri jolly. L'associazione con caratteri jolly del sottodominio (ad esempio,*.mysub.com) non costituisce un rischio per la sicurezza se viene controllato l'intero dominio padre (a differenza di*.com, che è vulnerabile). Vedere RFC 9110: Semantica HTTP (sezione 7.2). Host e :authority) per altre informazioni.Verificare che l'identità del modello di processo abbia le autorizzazioni necessarie.
If the default identity of the app pool (Process Model>Identity) is changed from
ApplicationPoolIdentityto another identity, verify that the new identity has the required permissions to access the app's folder, database, and other required resources. Ad esempio, il pool di applicazioni richiede l'accesso in lettura e scrittura alle cartelle in cui l'app legge e scrive i file.
Creare un'app ASP.NET Core
Creare qualsiasi tipo di app basata su server core ASP.NET.
Note
Questa esercitazione si basa sull'hosting di un'app ASP.NET Core sul lato server con IIS, incluso .Blazor Web App Per indicazioni sull'hosting e la distribuzione di un'app autonoma Blazor WebAssembly con IIS, vedere Ospitare e distribuire ASP.NET Core Blazor WebAssembly con IIS.
Pubblicare e distribuire l'app
Pubblicare un'app significa creare un'app compilata che può essere ospitata da un server. Distribuire un'app significa spostare l'app pubblicata in un sistema di hosting. Il passaggio di pubblicazione viene gestito da .NET Core SDK, mentre la fase di distribuzione può essere gestita tramite vari approcci. This tutorial adopts the folder deployment approach, where:
- L'app viene pubblicata in una cartella.
- The folder's contents are moved to the IIS site's folder (the Physical path to the site in IIS Manager).
- Right-click on the project in Solution Explorer and select Publish.
- Nella finestra di dialogo Selezionare una destinazione di pubblicazione selezionare l'opzione di pubblicazione Cartella.
- Impostare il percorso Cartella o condivisione file.
- Se è stata creata una cartella per il sito IIS disponibile nel computer di sviluppo come una condivisione di rete, specificare il percorso della condivisione. L'utente corrente deve avere l'accesso in scrittura per la pubblicazione nella condivisione.
- 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}/publishfolder to the IIS site folder on the server, which is the site's Physical path in IIS Manager.
- Select the Publish button.
Esplorazione del sito Web
L'app è accessibile in un browser dopo la ricezione della prima richiesta. Inviare una richiesta all'app nell'associazione dell'endpoint che è stata stabilita in Gestione IIS per il sito.
Next steps
Questa esercitazione ha descritto come:
- Installare il bundle di hosting di.NET Core in Windows Server.
- Creare un sito IIS in Gestione IIS.
- Distribuire un'app ASP.NET Core.
Per altre informazioni sull'hosting di app ASP.NET Core in IIS, vedere la panoramica su IIS:
Additional resources
Articoli nel set di documentazione di ASP.NET Core
- Modulo ASP.NET Core (ANCM) per IIS
- ASP.NET struttura di directory core
- Risolvere i problemi di ASP.NET Core in Servizio app di Azure e IIS
- Imporre HTTPS in ASP.NET Core
- WebSockets in IIS
Articoli relativi alla distribuzione di app ASP.NET Core
- Pubblicare un'app ASP.NET Core in Azure con Visual Studio
- Pubblicare un'app ASP.NET Core in Azure con Visual Studio Code
- Profili di pubblicazione di Visual Studio (.pubxml) per la distribuzione di app ASP.NET Core
Articoli sulla configurazione HTTPS di IIS
Articoli su IIS e Windows Server
Risorse di distribuzione per amministratori IIS
- IIS documentation
- Getting Started with the IIS Manager in IIS (Introduzione a Gestione IIS in IIS)
- Distribuzione di applicazioni .NET Core
- Modulo ASP.NET Core (ANCM) per IIS
- ASP.NET struttura di directory core
- Moduli IIS con ASP.NET Core
- Risolvere i problemi di ASP.NET Core in Servizio app di Azure e IIS
- Risoluzione di errori comuni di Servizio app di Azure e IIS con ASP.NET Core
- Sessioni permanenti con il routing delle richieste dell'applicazione