ASP.NET Core sull’hosting Windows

Skip to main content
Du bist hier:
Drucken

ASP.NET Core sull’hosting Windows

Sui nostri hosting Windows puoi eseguire applicazioni ASP.NET Core. Sui server sono installati gli ASP.NET Core Hosting Bundle attuali (al momento da .NET 8 a .NET 10), compresi ASP.NET Core Module V2 (ANCM) e il runtime a 32 e 64 bit. Non servono impostazioni particolari in Plesk o IIS.

32 o 64 bit?

Ogni dominio gira in un proprio pool di applicazioni con un proprio utente, separato dagli altri tuoi domini. Di regola il pool è impostato a 32 bit: in questo caso pubblica la tua applicazione per win-x86. Se è impostato a 64 bit, pubblica per win-x64. Entrambe le varianti funzionano framework-dependent o self-contained. Se la piattaforma di destinazione non corrisponde al pool, l’applicazione non si avvia. Se vuoi far cambiare il pool, contattaci tramite un ticket.

Configurare l’applicazione

  1. Carica l’applicazione pubblicata via FTP o tramite il File Manager di Plesk nella radice del documento del tuo dominio. Assicurati che venga caricata anche la cartella wwwroot con tutte le sue sottocartelle.
  2. In Plesk apri il riquadro «.NET Core» del tuo dominio. Lì definisci il file di avvio dell’applicazione, inserisci le variabili d’ambiente e riavvii l’applicazione.

Errore 500.30 «ASP.NET Core app failed to start»

Questo messaggio significa che la tua applicazione si interrompe all’avvio. La causa è quasi sempre nell’applicazione stessa, ad esempio una cartella mancante (spesso wwwroot), un file di configurazione mancante o una piattaforma di destinazione sbagliata (vedi «32 o 64 bit?»). Ecco come vedere il messaggio di errore esatto:

  1. In Plesk apri il riquadro «.NET Core» e attiva sotto «Log» l’opzione «Reindirizza stdout/stderr in un file».
  2. Scegli come directory la cartella «logs» al livello superiore del tuo abbonamento. Si trova fuori dalla radice del documento, non è raggiungibile dall’esterno e la tua applicazione può scriverci.
  3. Richiama di nuovo il sito web. Nella cartella «logs» trovi ora un file con il messaggio di errore.

In alternativa imposta nel web.config, nella sezione aspNetCore, il valore stdoutLogEnabled=”true” e indica sotto stdoutLogFile una cartella in cui l’applicazione può scrivere. Poiché il log può contenere informazioni interne, disattivalo di nuovo dopo la ricerca dell’errore.

Salvare dati e chiavi in modo protetto

  • La cartella App_Data nella radice del documento non viene mai servita dal server web. I permessi di scrittura per la tua applicazione li assegni nel File Manager di Plesk tramite «Cambiare Permessi» (utente del pool di applicazioni, scrittura e modifica). In alternativa attivi nelle «Impostazioni di hosting» del dominio l’opzione «Permessi aggiuntivi di scrittura/modifica», così l’applicazione può scrivere in tutta la radice del documento.
  • Oppure crei nel File Manager di Plesk una cartella tua al livello superiore del tuo abbonamento, cioè fuori da qualsiasi radice del documento, e assegni lì i permessi di scrittura tramite «Cambiare Permessi». Via FTP questa cartella è raggiungibile solo con l’accesso principale dell’abbonamento, non con utenti FTP aggiuntivi limitati a un singolo dominio.
  • Salva esplicitamente le chiavi di ASP.NET Core Data Protection in una di queste cartelle (PersistKeysToFileSystem). Altrimenti vanno perse a ogni riavvio e gli utenti connessi vengono disconnessi.

Segreti (ad es. chiavi API)

Nel riquadro «.NET Core» puoi inserire variabili d’ambiente. Non vengono servite pubblicamente. Attenzione: queste impostazioni finiscono nel web.config della tua applicazione. Se sovrascrivi il web.config quando distribuisci una nuova versione, vanno perse. I valori che devono sopravvivere a ogni distribuzione è meglio metterli in un file di configurazione nella cartella protetta e leggerli all’avvio dell’applicazione.

Riavviare o fermare l’applicazione

  • Nel riquadro «.NET Core» con «Riavvia», oppure nel dominio sotto «Pool di applicazioni IIS dedicato» con i pulsanti per arrestare, avviare e riciclare. Gli altri tuoi domini non ne sono toccati.
  • Se metti un file app_offline.htm nella radice del documento, l’applicazione si ferma in modo controllato finché non rimuovi di nuovo il file. È pratico per gli aggiornamenti o per un backup coerente.
  • Non c’è un accesso alla riga di comando. Tramite «Attività pianificate» in Plesk puoi però eseguire programmi propri, script batch o PowerShell in modo pianificato o immediato.

Maggiori informazioni sulle differenze tra i due tipi di hosting le trovi nell’articolo Differenza tra hosting UNIX e Windows.

Related Post