# The optional iisnode.yml file provides overrides of the iisnode configuration settings specified in web.config. # node_env - determines the environment (production, development, staging, ...) in which # child node processes run; if nonempty, is propagated to the child node processes as their NODE_ENV # environment variable; the default is the value of the IIS worker process'es NODE_ENV # environment variable node_env: # nodeProcessCommandLine - command line starting the node executable; in shared # hosting environments this setting would typically be locked at the machine scope. # nodeProcessCommandLine: "C:\Program Files\nodejs\node.exe" # interceptor - fully qualified file name of a node.js application that will run instead of an actual application # the request targets; the fully qualified file name of the actual application file is provided as the first parameter # to the interceptor application; default interceptor supports iisnode logging # interceptor: "c:\Program Files\iisnode\interceptor.js" # nodeProcessCountPerApplication - number of node.exe processes that IIS will start per application; # setting this value to 0 results in creating one node.exe process per each processor on the machine nodeProcessCountPerApplication: 1 # maxConcurrentRequestsPerProcess - maximum number of reqeusts one node process can # handle at a time maxConcurrentRequestsPerProcess: 1024 # maxNamedPipeConnectionRetry - number of times IIS will retry to establish a named pipe connection with a # node process in order to send a new HTTP request maxNamedPipeConnectionRetry: 100 # namedPipeConnectionRetryDelay - delay in milliseconds between connection retries namedPipeConnectionRetryDelay: 250 # maxNamedPipeConnectionPoolSize - maximum number of named pipe connections that will be kept in a connection pool; # connection pooling helps improve the performance of applications that process a large number of short lived HTTP requests maxNamedPipeConnectionPoolSize: 512 # maxNamedPipePooledConnectionAge - age of a pooled connection in milliseconds after which the connection is not reused for # subsequent requests maxNamedPipePooledConnectionAge: 30000 # asyncCompletionThreadCount - size of the IO thread pool maintained by the IIS module to process asynchronous IO; setting it # to 0 (default) results in creating one thread per each processor on the machine asyncCompletionThreadCount: 0 # initialRequestBufferSize - initial size in bytes of a memory buffer allocated for a new HTTP request initialRequestBufferSize: 4096 # maxRequestBufferSize - maximum size in bytes of a memory buffer allocated per request; this is a hard limit of # the serialized form of HTTP request or response headers block maxRequestBufferSize: 65536 # watchedFiles - semi-colon separated list of files that will be watched for changes; a change to a file causes the application to recycle; # each entry consists of an optional directory name plus required file name which are relative to the directory where the main application entry point # is located; wild cards are allowed in the file name portion only; for example: "*.js;node_modules\foo\lib\options.json;app_data\*.config.json" watchedFiles: *.js;iisnode.yml # uncFileChangesPollingInterval - applications are recycled when the underlying *.js file is modified; if the file resides # on a UNC share, the only reliable way to detect such modifications is to periodically poll for them; this setting # controls the polling interval uncFileChangesPollingInterval: 5000 # gracefulShutdownTimeout - when a node.js file is modified, all node processes handling running this application are recycled; # this setting controls the time (in milliseconds) given for currently active requests to gracefully finish before the # process is terminated; during this time, all new requests are already dispatched to a new node process based on the fresh version # of the application gracefulShutdownTimeout: 60000 # loggingEnabled - controls whether stdout and stderr streams from node processes are captured and made available over HTTP loggingEnabled: true # logDirectory - directory name relative to the main application file that will store files with stdout and stderr captures; # individual log file names have unique file names; log files are created lazily (i.e. when the process actually writes something # to stdout or stderr); an HTML index of all log files is also maintained as index.html in that directory; # by default, if your application is at http://foo.com/bar.js, logs will be accessible at http://foo.com/iisnode; # SECURITY NOTE: if log files contain sensitive information, this setting should be modified to contain enough entropy to be considered # cryptographically secure; in most situations, a GUID is sufficient logDirectory: iisnode # debuggingEnabled - controls whether the built-in debugger is available debuggingEnabled: true # debuggerPortRange - range of TCP ports that can be used for communication between the node-inspector debugger and the debugee; iisnode # will round robin through this port range for subsequent debugging sessions and pick the next available (free) port to use from the range debuggerPortRange: 5058-6058 # debuggerPathSegment - URL path segment used to access the built-in node-inspector debugger; given a node.js application at http://foo.com/bar/baz.js, the debugger can be accessed at http://foo.com/bar/baz.js/{debuggerPathSegment}, by default http://foo.com/bar/baz.js/debug debuggerPathSegment: debug # debugHeaderEnabled - boolean indicating whether iisnode should attach the iisnode-debug HTTP response header with # diagnostics information to all responses debugHeaderEnabled: false # maxLogFileSizeInKB - maximum size of a single log file in KB; once a log file exceeds this limit a new log file is created maxLogFileSizeInKB: 128 # maxTotalLogFileSizeInKB - maximum total size of all log files in the logDirectory; once exceeded, old log files are removed maxTotalLogFileSizeInKB: 1024 # maxLogFiles - maximum number of log files in the logDirectory; once exceeded, old log files are removed maxLogFiles: 20 devErrorsEnabled: true # flushResponse - controls whether each HTTP response body chunk is immediately flushed by iisnode; flushing each body chunk incurs # CPU cost but may improve latency in streaming scenarios flushResponse: false # enableXFF - controls whether iisnode adds or modifies the X-Forwarded-For request HTTP header with the IP address of the remote host enableXFF: false # promoteServerVars - comma delimited list of IIS server variables that will be propagated to the node.exe process in the form of # x-iisnode- # HTTP request headers; for a list of IIS server variables available see # http://msdn.microsoft.com/en-us/library/ms524602(v=vs.90).aspx; for example "AUTH_USER,AUTH_TYPE" promoteServerVars: