asp.net core out-of-process fails to start correctly

0

I'm attempting to us the RunFromPackage App Setting for an Azure Web Site.

I'm using the following stack

asp.net core (out-of-process) Targeting .Net Framework 4.7.2

and I can no longer get my web application to run correctly. when I hit the url all I get is

"The page cannot be displayed because an internal server error has occurred."

in the response.

I have launched my application using the Kudu powershell window with the command

".{applicationName}.exe"

and it start up fine. No errors or anything

Viewing the event viewer logs all I see is

APPLICATION_MANAGER::~APPLICATION_MANAGER | this=000001D1CD999A60 [TID 8872] [PID 8028]

When turning on the Failed Request Tracing Logs I see the following relevant information

  1. URL_CACHE_ACCESS_START RequestURL="/favicon.ico" 15:37:30.729
  2. URL_CACHE_ACCESS_END PhysicalPath="", URLInfoFromCache="false", URLInfoAddedToCache="true", ErrorCode="The operation completed successfully. (0x0)" 15:37:30.729
  3. GENERAL_GET_URL_METADATA PhysicalPath="", AccessPerms="545" 15:37:30.729
  4. HANDLER_CHANGED OldHandlerName="", NewHandlerName="aspNetCore", NewHandlerModules="AspNetCoreModule", NewHandlerScriptProcessor="", NewHandlerType="" 15:37:30.729
  5. MODULE_SET_RESPONSE_ERROR_STATUS

Warning ModuleName="IIS Web Core", Notification="BEGIN_REQUEST", HttpStatus="500", HttpReason="Internal Server Error", HttpSubStatus="0", ErrorCode="Access is denied. (0x80070005)", ConfigExceptionInfo=""

I have tried to turn on the asp.net core module logging but I get no log files. I have also tried to turn on the stdoutlog but nothing is appearing to log.

Here is a copy of my web.config

<configuration>
  <system.webServer>
    <security>
      <access sslFlags="SslNegotiateCert" />
    </security>
    <serverRuntime uploadReadAheadSize="30000000" />
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" stdoutLogEnabled="true" stdoutLogFile="\\?\%home%\LogFiles\stdout" hostingModel="OutOfProcess" arguments="%LAUNCHER_ARGS%">
     <handlerSettings>
    <handlerSetting name="debugFile" value="\\?\%home%\LogFiles\aspnetcore-debug.log" />
    <handlerSetting name="debugLevel" value="FILE,TRACE" />
  </handlerSettings>
    </aspNetCore>
  </system.webServer>
</configuration>

I'm not really sure what is going on. All I can gather is something is going wrong with the IIS Module. from the error message it appears that it cannot read or process my web.config ErrorCode="Access is denied."

Strangely enough I had a previous build of the application up and running. I have tried to isolate the changes that may have broke the site but I cant seem to find out what has cause this.

asp.net-core
azure-web-sites
.net-framework-version
out-of-process
ssl-client-authentication
asked on Stack Overflow Jul 25, 2019 by McFrank • edited Jul 26, 2019 by McFrank

1 Answer

0

It appears that this was due to the fact I was trying to get only client authentication on one endpoint.

The following setting

      <access sslFlags="SslNegotiateCert" />

in the web.config, and Require incoming Certificate in the App Settings caused my issue.

I then tried the feature of "Certificate exclusion paths" but having this and the web.config access node makes the web server very upset and causes the error message

"The page cannot be displayed because an internal server error has occurred."

I had to remove the node from my web.config file, leave the Required SSL, and set my Certificate Exclusion path and everything turned back online.

answered on Stack Overflow Jul 26, 2019 by McFrank

User contributions licensed under CC BY-SA 3.0