---
title: ASP.NET Core Module Configuration Reference | Microsoft Docs
author: rick-anderson
description:
keywords: ASP.NET Core,
ms.author: riande
manager: wpickett
ms.date: 11/18/2016
ms.topic: article
ms.assetid: 5de0c8f7-50ce-4e2c-b3d4-a1bd9fdfcff5
ms.technology: aspnet
ms.prod: aspnet-core
uid: hosting/aspnet-core-module
---
# ASP.NET Core Module Configuration Reference
By [Luke Latham](https://github.com/GuardRex), [Rick Anderson](https://twitter.com/RickAndMSFT) and [Sourabh Shirhatti](https://twitter.com/sshirhatti)
This document provides details on how to configure the ASP.NET Core Module for hosting ASP.NET Core applications. For an introduction to the ASP.NET Core Module and installation instructions, see the [ASP.NET Core Module overview](../fundamentals/servers/aspnet-core-module.md).
## Configuration via web.config
The ASP.NET Core Module is configured via a site or application *web.config* file and has its own `aspNetCore` configuration section within `system.webServer`. Here's an example *web.config* file with placeholders for values that `publish-iis` tooling will provide when the project is published.
```xml
Required string attribute.
Path to the executable that will launch a process listening for HTTP requests. Relative paths are supported. If the path begins with '.', the path is considered to be relative to the site root.
There is no default value.
| | arguments |Optional string attribute.
Arguments to the executable specified in **processPath**.
The default value is an empty string.
| | startupTimeLimit |Optional integer attribute.
Duration in seconds that the module will wait for the executable to start a process listening on the port. If this time limit is exceeded, the module will kill the process. The module will attempt to launch the process again when it receives a new request and will continue to attempt to restart the process on subsequent incoming requests unless the application fails to start **rapidFailsPerMinute** number of times in the last rolling minute.
The default value is 120.
| | shutdownTimeLimit |Optional integer attribute.
Duration in seconds for which the module will wait for the executable to gracefully shutdown when the *app_offline.htm* file is detected.
The default value is 10.
| | rapidFailsPerMinute |Optional integer attribute.
Specifies the number of times the process specified in **processPath** is allowed to crash per minute. If this limit is exceeded, the module will stop launching the process for the remainder of the minute.
The default value is 10.
| | requestTimeout |Optional timespan attribute.
Specifies the duration for which the ASP.NET Core Module will wait for a response from the process listening on %ASPNETCORE_PORT%.
The default value is "00:02:00".
| | stdoutLogEnabled |Optional Boolean attribute.
If true, **stdout** and **stderr** for the process specified in **processPath** will be redirected to the file specified in **stdoutLogFile**.
The default value is false.
| | stdoutLogFile |Optional string attribute.
Specifies the relative or absolute file path for which **stdout** and **stderr** from the process specified in **processPath** will be logged. Relative paths are relative to the root of the site. Any path starting with '.' will be relative to the site root and all other paths will be treated as absolute paths. A timestamp and the file extension will automatically be added to the filename provided. Any folders provided in the path must exist in order for the module to create the log file.
The default value is `aspnetcore-stdout`.
| | forwardWindowsAuthToken |true or false.If true, the token will be forwarded to the child process listening on %ASPNETCORE_PORT% as a header 'MS-ASPNETCORE-WINAUTHTOKEN' per request. It is the responsibility of that process to call CloseHandle on this token per request.
The default value is false.
| | disableStartUpErrorPage |true or false.If true, the **502.5 - Process Failure** page will be suppressed, and the 502 status code page configured in your *web.config* will take precedence.
The default value is false.
| ### environmentVariables child element of aspNetCore The ASP.NET Core Module allows you specify environment variables for the process specified in the `processPath` attribute by specifying them in one or more `environmentVariable` child elements of an `environmentVariables` collection element under the `aspNetCore` element. Environment variables set in this section take precedence over system environment variables for the process. The example below sets two environment variables. `ASPNETCORE_ENVIRONMENT` will configure the application's environment to `Development`. A developer may temporarily set this value in the *web.config* file in order to force the [developer exception page](../fundamentals/error-handling.md) to load when debugging an application exception. `CONFIG_DIR` is an example of a user-defined environment variable, where the developer has written code that will read the value on startup to form a path in order to load the application's configuration file. ```xml