2017-11-26 5 views
0

Azure上で.net core 2.0でIdentityServer 4を実行しようとしています。 私は、bitbucketを使用した継続的な展開を使用して、まったく新しいサービスプランで真新しいapp-serviceを導入しました。Azure上のIdentityserver4 2.0は502.5エラーを返します

デプロイメントは正常に終了しましたが、URLを開くときに502.5エラーが表示されます。

私はkuduを使用してdotnetコマンドを実行しようとしましたが、エラーを返さずに起動直後に停止します。

私のソリューションにはweb.configは含まれていませんが、以下のように生成されます。唯一の変更は、私がstdOutLoggingを有効にしたことです。

<?xml version="1.0" encoding="utf-8"?> 
    <configuration> 
     <system.webServer> 
     <handlers> 
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> 
     </handlers> 
     <aspNetCore processPath="dotnet" arguments=".\Solution.Identity.dll" stdoutLogEnabled="true" stdoutLogFile="\\?\%home%\LogFiles\stdout" /> 
     </system.webServer> 
    </configuration> 

ログファイルは指定された場所に作成されますが、残念ながらすべてのファイルのサイズは0バイトです。

イベントログには、次のデータを提供します:

<Event> 
    <System> 
     <Provider Name="IIS AspNetCore Module"/> 
     <EventID>1000</EventID> 
     <Level>1</Level> 
     <Task>0</Task> 
     <Keywords>Keywords</Keywords> 
     <TimeCreated SystemTime="2017-11-26T11:49:13Z"/> 
     <EventRecordID>149782328</EventRecordID> 
     <Channel>Application</Channel> 
     <Computer>XXXXXX</Computer> 
     <Security/> 
    </System> 
    <EventData> 
     <Data>Application 'MACHINE/WEBROOT/APPHOST/SOLUTIONIDENTITY' with physical root 'D:\home\site\wwwroot\' failed to start process with commandline 'dotnet .\Solution.Identity.dll', ErrorCode = '0x80004005 : c0000374.</Data> 
    </EventData> 
</Event> 

0x80004005のは、行方不明のファイルまたはバージョンの競合を意味するが、すべてのファイルがデプロイ時にnugetによって取得されたときに、どのファイルが欠落することができます(なしがありますライブラリはbitbucketリポジトリに含まれています)。 c0000374の意味を明確にすることはできません。

このプロジェクトは、kestrelとIISを通じてエラーなしでローカルに実行されます。

WebHost.CreateDefaultBuilder(args) 
      .UseKestrel() 
      .UseContentRoot(Directory.GetCurrentDirectory()) 
      .UseIISIntegration() 
      .UseStartup<Startup>() 
      .UseApplicationInsights() 
      .Build(); 

物事がして、任意のCPUの展開aspNetCoreTargetApplicationManifest

  • なし

    • を試してみました、次のよう

      <Project Sdk="Microsoft.NET.Sdk.Web"> 
      
          <PropertyGroup> 
          <TargetFramework>netcoreapp2.0</TargetFramework> 
          </PropertyGroup> 
      
          <PropertyGroup> 
          <UserSecretsId>aspnet-Solution.Identity-f67088a4-3844-4ec8-abd5-12b6488e53f3</UserSecretsId> 
          </PropertyGroup> 
      
          <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> 
          <PlatformTarget>AnyCPU</PlatformTarget> 
          </PropertyGroup> 
      
          <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> 
          <PlatformTarget>x86</PlatformTarget> 
          </PropertyGroup> 
      
          <PropertyGroup> 
      
          <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest> 
          </PropertyGroup> 
      
          <ItemGroup> 
          <None Remove="Properties\PublishProfiles\solutionidentity - Web Deploy.pubxml" /> 
          </ItemGroup> 
      
          <ItemGroup> 
          <Content Include="identity.pfx"> 
           <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
          </Content> 
          </ItemGroup> 
          <ItemGroup> 
          <PackageReference Include="IdentityServer4" Version="2.0.0" /> 
          <PackageReference Include="IdentityServer4.AspNetIdentity" Version="2.0.0" /> 
          <PackageReference Include="IdentityServer4.EntityFramework" Version="2.0.0" /> 
          <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.1.1" /> 
          <PackageReference Include="Microsoft.AspNetCore" Version="2.0.1" /> 
          <PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.0.1" /> 
          <PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="2.0.1" /> 
          <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="2.0.1" /> 
          <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="2.0.1" /> 
          <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.0.1" /> 
          <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.0.1" /> 
          <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.1" PrivateAssets="All" /> 
          <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.1" /> 
          <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.3" PrivateAssets="All" /> 
          <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.1" PrivateAssets="All" /> 
          <PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="2.0.0" /> 
          <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.0.0" /> 
          <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.1" PrivateAssets="All" /> 
          <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="2.0.1" /> 
          <PackageReference Include="Serilog" Version="2.5.0" /> 
          <PackageReference Include="Serilog.Extensions.Logging" Version="2.0.2" /> 
          <PackageReference Include="Serilog.Sinks.File" Version="3.2.0" /> 
          <PackageReference Include="Serilog.Sinks.RollingFile" Version="3.3.0" /> 
          <PackageReference Include="Microsoft.AspNetCore.ApplicationInsights.HostingStartup" Version="2.0.1" /> 
          </ItemGroup> 
          <ItemGroup> 
          <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.1" /> 
          <DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="2.0.0" /> 
          <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.1" /> 
          </ItemGroup> 
      
      </Project> 
      

      私のProgram.csのが見え、次のよう

      プロジェクトファイルがありますx86のみ

    • クーズー
    • 内のweb.configファイルに記載されているようにバージョンを使用するDOTNETランタイムを強制DOTNETのコマンドを実行している標準出力ログ
    • を有効にする新しいアプリケーションサービス
    • を作成
    • 連続展開を使用して展開し、VS2017を使用して展開2.0.0または2.0.3にfx-versionコマンドを使用する

    私は、Microsoft fora、スタックオーバーフロー、およびGoogleで見つけることができるほとんどすべてを試したと思います。私は多少の選択肢がありません。皆さんのおかげで私に手がかりを与えてくれることを願っています。

  • +0

    すべてのPlatformTarget要素をAnyCPUに変更しようとしましたか? –

    +0

    私のコントロール下のすべてのライブラリについて、ターゲットをx86に変更しましたが、効果はありませんでした。 – Fraggel

    +0

    AnyCPUである必要があります。 –

    答えて

    0

    私は私のbitbicketリポジトリを使用してprobleemを解決しました。 かなりストレートなセットアップをして、何かがもう動作しなくなるまで、すべてのコミットを1つずつ再生することに決めました。

    IdentityServerは、指定されたトークンに署名するx509証明書が好きです。残念ながら、azureは "新しいX509Certificate2(パス、パスワード)"呼び出しを使用して証明書(pfx)を読み込むだけでは動作しません。 これは、秘密鍵が、azureに存在しないローカルユーザーストアに追加されるためです。 解決策は、ダッシュボードを使用して証明書をロードするか、X509Certificate2オブジェクトの構築中にストアを第3のパラメータとして指定することです。

    質問がありますが、なぜこのログに記録されませんでしたか?そしてtry/catchブロックに埋め込まれていても、なぜdotnetプロセスがクラッシュするのですか?

    この問題は、azureサポートサービスにも報告されていましたが、その前に解決しました。私はこれも同様に尋ねてきましたが、.netフレームワークの開発が別の部門であるので、私はそれについてもう知らされないでしょう。

    みんな一緒に考えてくれてありがとう。

    関連する問題