Skip to content
This repository
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 144 lines (89 sloc) 6.919 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
# 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-<server_variable_name>
# 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:
Something went wrong with that request. Please try again.