web-dev-qa-db-fra.com

L'application CGI spécifiée a rencontré une erreur et le serveur a mis fin au processus.

J'héberge une application asp.net 5 sur Azure, le code est respecté pour la version 8, l'application fonctionne correctement sur l'environnement local et lorsque je publie le code sur le site Azure. Je reçois une erreur commune "L'application CGI spécifiée a rencontré une erreur et le serveur a mis fin au processus." 

19
srivatsa6065

J'ai pu résoudre ce problème en supprimant forwardWindowsAuthToken du fichier web.config sous wwwroot.

  1. Accédez à src/NomProjet/wwwroot
  2. Ouvrez le web.config
  3. Dans httpPlatformremove la propriété forwardWindowsAuthToken="true/false"

Redéployer et le mien a bien fonctionné.

Voir ici https://github.com/aspnet/Hosting/issues/364 pour de nombreuses discussions.

9
dmpontifex

Réponse courte

Pour nous, le correctif consistait à UseIISIntegration() sur la WebHostBuilder.

public static void Main(string[] args)
{
    var Host = new WebHostBuilder()
        .UseContentRoot(Directory.GetCurrentDirectory())
        .UseKestrel()
        .UseIISIntegration() // Necessary for Azure.
        .UseStartup<Program>()
        .Build();

     Host.Run();
}

Plus de détails

Notre web.config ressemble à ceci: 

<?xml version="1.0" encoding="utf-8"?>         
<configuration>                                
<system.webServer>                             
    <handlers>                                 
    <add name="aspNetCore"                     
        path="*"                               
        verb="*"                               
        modules="AspNetCoreModule"             
        resourceType="Unspecified"/>           
    </handlers>                                
    <aspNetCore processPath="%LAUNCHER_PATH%"  
        arguments="%LAUNCHER_ARGS%"            
        stdoutLogEnabled="false"               
        stdoutLogFile=".\logs\stdout"          
        forwardWindowsAuthToken="false"/>      
</system.webServer>                            
</configuration>       

Notre project.json ressemble à ceci: 

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0-*",
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0-*"
  },
  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
  },
  "frameworks": {
    "netcoreapp1.0": {}
  },
  "buildOptions": {
    "emitEntryPoint": true
  },
  "publishOptions": {
    "include": [
      "web.config"
    ]
  },
  "scripts": {
    "postpublish": [
      "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%"
    ]
  }
}

Notre nuget.config ressemble à ceci: 

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="AspNetVNext" value="https://www.myget.org/F/aspnetcidev/api/v3/index.json" />
    <add key="NuGet" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
</configuration>
6
Shaun Luttin

Cela peut également arriver si votre code contient une boucle infinie.

2
pimbrouwers

Je viens de rencontrer cette erreur lors du déploiement d'une application ASP.core à l'aide de .NET 5.4.2. Le correctif consistait à déployer sur une nouvelle instance de service d'application. J'imaginais qu'il restait des déchets d'un déploiement précédent utilisant une version de framework différente.

2
Tom Makin

J'utilise .NET Core 2.1 et EF Core déployés sur une application Web Azure. J'ai eu cette erreur lorsque j'ai abandonné l'utilisation d'un compte de base de données avec les droits du propriétaire de la base de données sur un compte limité. Je soupçonne qu'EF a besoin d'un droit qui me manque au démarrage de l'application.

0
John81

J'ai ce problème dans le service d'applications Azure, car la version d'asp.net core est une version de prévisualisation. Je mets donc à jour la version d'asp.net core de NuGet vers la version 2.0.1 et redéploie l'application.

L'application fonctionne à nouveau.

0
Crazy Crab