【问题标题】:Not able to deploy IdentityServer 4 code on Azure App service无法在 Azure App 服务上部署 IdentityServer 4 代码
【发布时间】:2020-04-03 16:41:16
【问题描述】:

我使用 dotnetcore 3.0 在空的 Asp.net Web 应用程序托管中开发 IdentityServer。 我创建的应用服务是dotnetcore 3.0,Windows平台。

在我的 dotnet 核心解决方案中,我使用“dotnet publish”创建了发布输出

当我在客户端应用程序中使用该 url 时,它在 localhost url 上运行良好。我只有 TokenPoint 并且从 UI 应用程序传递用户名/密码

App服务日志如下:

2020-04-02 17:41:09 NEWIDPSERVER GET / X-ARR-LOG-ID=e83b7b1e-6f40-4f67-9f0d-0f4f474e2309 443 - 112.196.168.73 Mozilla/5.0+(Windows+NT+10.0;+ Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/80.0.3987.149+Safari/537.36 ARRAffinity=c450828deae8ef5774d6b51f85ad7bb411cc76cec811344524a352e00ebf3ca1 - newidpserver.azurewebsites.net 500 30 574 2913 1374 6437 2020-04-02 17:41:19 ~1NEWIDPSERVER GET /detectors type=tools&name=eventviewer&X-ARR-LOG-ID=ec15da12-ce7e-44ae-83fe-7f8f4c9c62cc 443 - 112.196.168.73 Mozilla/5.0+(Windows+NT+ 10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/80.0.3987.149+Safari/537.36 ARRAffinity=c450828deae8ef5774d6b51f85ad7bb411cc76cec811344524a352e00ebf3ca1 https://newidpserver.azurewebsites.net/ newidpserver.scm.azurewebsites.net 302 0 0 1047 1590 1062 IIS 详细错误 - 500.30 - 内部服务器错误

HTTP 错误 500.30 - 内部服务器错误

页面无法显示,因为发生了内部服务器错误。最可能的原因:
  • IIS 收到请求;但是,在处理请求期间发生了内部错误。此错误的根本原因取决于处理请求的模块以及发生此错误时工作进程中发生的情况。
  • IIS 无法访问网站或应用程序的 web.config 文件.如果 NTFS 权限设置不正确,可能会发生这种情况。
  • IIS 无法处理网站或应用程序的配置。
  • 经过身份验证的用户没有使用此 DLL 的权限.
  • 请求已映射到托管处理程序,但未安装 .NET 可扩展性功能。
您可以尝试的方法:
  • 确保 web.config 文件的 NTFS 权限正确,并允许访问 Web 服务器的计算机帐户。
  • 检查事件日志以查看是否记录了任何其他信息。
  • 验证 DLL 的权限。
  • 如果请求映射到托管处理程序,请安装 .NET 可扩展性功能。
  • 为此创建跟踪规则以跟踪失败的请求HTTP 状态码。有关为失败的请求创建跟踪规则的更多信息,请单击here
详细错误信息:Module   AspNetCoreModuleV2Notification   ExecuteRequestHandlerHandler   aspNetCoreError Code   0x8007023e 请求的 URL   https://newidpserver:80/.well-known/openid-configuration 物理路径   D:\home\site\wwwroot\.well-known\openid-configurationLogon 方法   匿名登录用户   匿名

更多信息:此错误表示处理请求时出现问题。 Web 服务器收到了请求,但在处理过程中发生了致命错误,导致 500 错误。

View more information »

Microsoft 知识库文章:

2020-04-02 17:42:35 NEWIDPSERVER GET /.well-known/openid-configuration X-ARR-LOG-ID=3273401b-d59d-4e79-ba95-207ca2a8273f 443 - 112.196.168.73 - - - newidpserver.azurewebsites。净 500 30 574 2923 892 0 2020-04-02T17:44:45 在过去 1 分钟内没有新的踪迹。 2020-04-02T17:45:45 在过去 2 分钟内没有新的踪迹。 2020-04-02T17:46:45 在过去 3 分钟内没有新的踪迹。 2020-04-02T17:47:36 欢迎您,您现在已连接到日志流服务。默认超时为 2 小时。使用应用程序设置 SCM_LOGSTREAM_TIMEOUT(以秒为单位)更改超时。 2020-04-02T17:48:36 在过去 1 分钟内没有新的踪迹。 2020-04-02T17:49:07 System.ApplicationException:跟踪侦听器 AzureBlobTraceListener 已禁用。 ---> System.InvalidOperationException:未指定云存储帐户的 SAS URL。使用环境变量“DIAGNOSTICS_AZUREBLOBCONTAINERSASURL”来定义它。在 Microsoft.WindowsAzure.WebSites.Diagnostics.AzureBlobTraceListener.RefreshConfig()--- 内部异常堆栈跟踪结束--- 2020-04-02T17:49:07 PID[6956] 从 D:\Program Files (x86)\MiddlewareModules\1.2.4\Microsoft.Azure.AppService.Middleware.Modules.dll 加载模块的信息 2020-04-02T17:49:08 PID [6956] 详细检测到的应用程序设置“WEBSITE_AUTH_LOGOUT_PATH”=“/.auth/logout” 2020-04-02T17:49:08 PID [6956] 检测到的详细应用程序设置“WEBSITE_AUTH_ENABLED”=“假” 2020-04-02T17:49:08 PID[6956] 详细检测到的应用程序设置 'EASY_AUTH_CONFIG_CONTENTS' = '{"preserveUrlFragmentsForLogins":false,"endpointPath":{"apiPrefix":"/.auth","logoutPath":"/ .auth/logout","LogoutCompletionPath":"/.auth/logout/complete","mobileCompatibilityEnabled":false},"allowedExternalRedirectUri":{"allowedExternalRedirectUrls":null,"AllowedExternalRedirectUriCollection":[]},"nonce": {"validateNonce":true,"nonceExpirationInterval":"00:05:00"},"token":{"stateDirectory":"D:\home\data\.auth","TokenStorePath":"D:\home \data\.auth\tokens","tokenStoreEnabled":false,"tokenStoreContainerSasUrlSettingName":null,"tokenRefreshExtensionHours":72.0},"isAuthEnabled":false,"requireHttps":true,"defaultProvider":null,"unauthenticatedClientAction": 0,"authConfigDirectory":null,"hideDeprecatedSecurityIds":false,"AppTracingLevel":31,"useLegacyClaims":true,"warmupPath":null,"forwardingHeader":null,"functionsExtensionVersion":null,"cookieExpirationTime":"08 :00:00","azureActiveDirectory":{ "openIdIssuer":null,"clientId":null,"clientSecretSettingName":null,"clientSecretCertificateThumbprint":null,"allowedAudiences":null,"loginParameters":null,"aadBypassSingleTenancyCheck":false,"activeDirectoryAcl":null,"disableWwwAuthenticateResponse ":false,"OpenIdIssuerValue":null,"OpenIdConfigurationUrl":null},"facebook":{"facebookAppId":null,"facebookAppSecretSettingName":null,"facebookScope":null,"facebookGraphApiVersion":"v3.3"} ,"gitHub":{"gitHubAppId":null,"gitHubAppSecretSettingName":null,"gitHubScope":null},"twitter":{"twitterConsumerKey":null,"twitterConsumerSecretSettingName":null},"google":{"googleClientId ":null,"googleClientSecretSettingName":null,"googleScope":null,"allowedAudiences":null},"openIdConnectProviders":null}' 2020-04-02T17:49:08 PID[6956] 检测到的详细应用程序设置“WEBSITE_CORS_ALLOWED_ORIGINS”=“” 2020-04-02T17:49:08 PID [6956] 检测到的详细应用程序设置“WEBSITE_CORS_SUPPORT_CREDENTIALS”=“假” 2020-04-02T17:49:08 PID [6956] 详细检测到的应用程序设置“WEBSITE_AUTH_LOGOUT_PATH”=“/.auth/logout” 2020-04-02T17:49:08 PID [6956] 检测到的详细应用程序设置“WEBSITE_AUTH_ENABLED”=“假” 2020-04-02T17:49:08 PID[6956] 详细检测到的应用程序设置 'EASY_AUTH_CONFIG_CONTENTS' = '{"preserveUrlFragmentsForLogins":false,"endpointPath":{"apiPrefix":"/.auth","logoutPath":"/ .auth/logout","LogoutCompletionPath":"/.auth/logout/complete","mobileCompatibilityEnabled":false},"allowedExternalRedirectUri":{"allowedExternalRedirectUrls":null,"AllowedExternalRedirectUriCollection":[]},"nonce": {"validateNonce":true,"nonceExpirationInterval":"00:05:00"},"token":{"stateDirectory":"D:\home\data\.auth","TokenStorePath":"D:\home \data\.auth\tokens","tokenStoreEnabled":false,"tokenStoreContainerSasUrlSettingName":null,"tokenRefreshExtensionHours":72.0},"isAuthEnabled":false,"requireHttps":true,"defaultProvider":null,"unauthenticatedClientAction": 0,"authConfigDirectory":null,"hideDeprecatedSecurityIds":false,"AppTracingLevel":31,"useLegacyClaims":true,"warmupPath":null,"forwardingHeader":null,"functionsExtensionVersion":null,"cookieExpirationTime":"08 :00:00","azureActiveDirectory":{ "openIdIssuer":null,"clientId":null,"clientSecretSettingName":null,"clientSecretCertificateThumbprint":null,"allowedAudiences":null,"loginParameters":null,"aadBypassSingleTenancyCheck":false,"activeDirectoryAcl":null,"disableWwwAuthenticateResponse ":false,"OpenIdIssuerValue":null,"OpenIdConfigurationUrl":null},"facebook":{"facebookAppId":null,"facebookAppSecretSettingName":null,"facebookScope":null,"facebookGraphApiVersion":"v3.3"} ,"gitHub":{"gitHubAppId":null,"gitHubAppSecretSettingName":null,"gitHubScope":null},"twitter":{"twitterConsumerKey":null,"twitterConsumerSecretSettingName":null},"google":{"googleClientId ":null,"googleClientSecretSettingName":null,"googleScope":null,"allowedAudiences":null},"openIdConnectProviders":null}' 2020-04-02T17:49:08 PID[6956] 检测到的详细应用程序设置“WEBSITE_CORS_ALLOWED_ORIGINS”=“” 2020-04-02T17:49:08 PID [6956] 检测到的详细应用程序设置“WEBSITE_CORS_SUPPORT_CREDENTIALS”=“假” 2020-04-02T17:49:08 PID [6956] 详细检测到的应用程序设置“WEBSITE_AUTH_SIGNING_KEY”=“0F****” 2020-04-02T17:49:08 PID [6956] 检测到的详细应用程序设置“WEBSITE_AUTH_ENCRYPTION_KEY”=“CE****” IIS 详细错误 - 500.0 - 内部服务器错误

HTTP 错误 500.0 - 内部服务器错误

页面无法显示,因为发生了内部服务器错误。最可能的原因:
  • IIS 收到请求;但是,在处理请求期间发生了内部错误。此错误的根本原因取决于处理请求的模块以及发生此错误时工作进程中发生的情况。
  • IIS 无法访问网站或应用程序的 web.config 文件.如果 NTFS 权限设置不正确,可能会发生这种情况。
  • IIS 无法处理网站或应用程序的配置。
  • 经过身份验证的用户没有使用此 DLL 的权限.
  • 请求已映射到托管处理程序,但未安装 .NET 可扩展性功能。
您可以尝试的方法:
  • 确保 web.config 文件的 NTFS 权限正确,并允许访问 Web 服务器的计算机帐户。
  • 检查事件日志以查看是否记录了任何其他信息。
  • 验证 DLL 的权限。
  • 如果请求映射到托管处理程序,请安装 .NET 可扩展性功能。
  • 为此创建跟踪规则以跟踪失败的请求HTTP 状态码。有关为失败的请求创建跟踪规则的更多信息,请单击here
详细错误信息:Module   AspNetCoreModuleV2Notification   ExecuteRequestHandlerHandler   aspNetCoreError Code   0x00000000 请求的 URL   https://newidpserver:80/.well-known/openid-configuration 物理路径   D:\home\site\wwwroot\.well-known\openid-configurationLogon 方法   匿名登录用户   匿名

更多信息:此错误表示处理请求时出现问题。 Web 服务器收到了请求,但在处理过程中发生了致命错误,导致 500 错误。

View more information »

Microsoft 知识库文章:


2:

https://i.stack.imgur.com/zeALq.png

我本地的令牌:

ack.imgur.com/X6Ch3.png

【问题讨论】:

  • 找到此链接并更改 web.config:stackoverflow.com/questions/59369322/…
  • 现在错误日志已经改变:
  • 相关日志已更新。之前的错误是 500.30,现在是 500.0
  • 使用Visual Studio 还是dotnet publish CMD 发布方式是什么?一般情况下,使用Visual Studio 发布时不会出现上述错误。如果您使用 dotnet cmd 发布,我愿意尝试并为您提供进一步的帮助。
  • @jason 是的,我使用了 cli 命令 dotnet publish

标签: azure azure-web-app-service identityserver4 azure-app-service-plans


【解决方案1】:

如果你的 Visual Studio 有一些东西,你可以通过 vscode 发布你的 webapps。

添加有关 azure 的扩展,并打开由 Visual Studio 创建的项目。在本地运行它,确保您可以打开该站点。

然后您可以按照document about publish app by vscode 部署您的应用程序。我建议您通过Visual Studio 部署应用程序。我认为使用 Visual Studio 发布很容易。

【讨论】:

猜你喜欢
  • 2019-06-14
  • 2021-07-19
  • 2020-12-08
  • 1970-01-01
  • 2016-08-24
  • 2019-02-17
  • 1970-01-01
  • 1970-01-01
  • 2020-11-23
相关资源
最近更新 更多