IIS module install
Last updated 2023-04-05
Requirements
- Windows Server 2008R2 (Windows 7) or higher (64-bit)
- IIS 7 or higher
- Verify you have installed the Signal Sciences Windows Agent. This will ensure the appropriate folder structure is in place on your file system.
Before you begin
- We only support 64-bit and 32-bit application pools on Windows 2012 or higher. We only support 64-bit application pools on Windows Server 2008R2.
- We only support 64-bit OSes. For older or 32-bit versions of Windows, it is possible to deploy the Signal Sciences Agent as a reverse proxy. If you have questions or require assistance with older or 32-bit versions of Windows, reach out to our support team.
- IIS Module v2.0 and higher includes the utility
sigscictl.exe
which outputs diagnostic information. The information provided by this utility is useful for troubleshooting issues and checks, among other things, whether or not 32-bit app pools are enabled on your server.
Download
The latest version of the IIS module can be downloaded as an MSI installer or a legacy ZIP archive from https://dl.signalsciences.net/?prefix=sigsci-module-iis/.
Alternatively, the IIS module is also downloadable via Nuget.
Installation
The IIS Module is available as an MSI installer or as a legacy ZIP archive. The install packages contain a DLL that must be configured as an IIS native module and a configuration schema that must be registered with IIS. This configuration and registration with IIS is done automatically by the MSI package, or must be done manually if using the legacy ZIP archive.
Install using the MSI
Double-click (or right-click and select install) the MSI file to install it.
Alternatively, for unattended installation, use the following command. This command will not display any output, but will install into %PROGRAMFILES%\Signal Sciences\IIS Module
by default. It will also register the Signal Sciences module and configuration with IIS:
NOTE
You may be prompted for Administrator credentials if the login session is not already running as an Administrator.
$ msiexec /qn /i sigsci-module-iis_latest.msi
If you require an alternative install location, specify it with the INSTALLDIR=path
option to the msiexec.exe
command above. For example:
$ msiexec /qn /i sigsci-module-iis_latest.msi INSTALLDIR=D:\Program Files\Signal Sciences\IIS Module
Legacy install using the ZIP archive
NOTE
This method may not be supported in the future. It is recommended to install via MSI even if you previously used the ZIP archive.
Extract the ZIP archive contents to the IIS Module install directory (
C:\Program Files\Signal Sciences\IIS Module
).Open a terminal running as Administrator.
Configure IIS to load the Signal Sciences module and register the configuration schema.
$ cd "%PROGRAMFILES%\Signal Sciences\IIS Module"$ .\SigsciCtl.exe Install
If you need to install into an alternative location, then you will need to run the Register-Module -file DLL-path
, Register-Config -file XML-path
and optional Configure-Module
commands with the SigsciCtl.exe
utility (see SigsciCtl.exe Help
for more information). Ensure the SigSciIISModule.dll
is not located under the C:\Users\
directory or its sub-directories. For security, Windows prevents DLL files from being loaded from any location under C:\Users\
.
Verify installation
To confirm the module DLL has been registered with IIS, run the following from a terminal running as Administrator to verify the SignalSciences module is listed:
$ "%PROGRAMFILES%\Signal Sciences\IIS Module\SigsciCtl.exe" Get-Modules
The output should look similar to the following:
1IIS Global Modules:2
3 Name Image Precondition4-------------------------------- ------------------------------------------------------------------------ ------------------------5 HttpLoggingModule %windir%\System32\inetsrv\loghttp.dll6 UriCacheModule %windir%\System32\inetsrv\cachuri.dll7 FileCacheModule %windir%\System32\inetsrv\cachfile.dll8 TokenCacheModule %windir%\System32\inetsrv\cachtokn.dll9 HttpCacheModule %windir%\System32\inetsrv\cachhttp.dll10 StaticCompressionModule %windir%\System32\inetsrv\compstat.dll11 DefaultDocumentModule %windir%\System32\inetsrv\defdoc.dll12 DirectoryListingModule %windir%\System32\inetsrv\dirlist.dll13 ProtocolSupportModule %windir%\System32\inetsrv\protsup.dll14 StaticFileModule %windir%\System32\inetsrv\static.dll15 AnonymousAuthenticationModule %windir%\System32\inetsrv\authanon.dll16 RequestFilteringModule %windir%\System32\inetsrv\modrqflt.dll17 CustomErrorModule %windir%\System32\inetsrv\custerr.dll18 ApplicationInitializationModule %windir%\System32\inetsrv\warmup.dll19 SignalSciences C:\Program Files\Signal Sciences\IIS Module\SigsciIISModule.dll bitness64
To confirm that the module configuration has been registered, run the following from a terminal running as Administrator to output the current configuration:
$ "%PROGRAMFILES%\Signal Sciences\IIS Module\SigsciCtl.exe" Get-Configs
The output should look similar to the following but may also list sites individually:
1C:\WINDOWS\system32\inetsrv\config\schema:2
3Date Size Name4-------------------- ------------ --------------------------------52020-02-13 03:12:56Z 677 SignalSciences_schema.xml6
7"SignalSciences" Configuration Section (Global):8
9 Attribute Value10-------------------------------- ----------------------------------------------------------------11 agentHost12 agentPort 73713 statusPagePath14 Debug False15 ReuseConnections False16 MaxPostSize 10000017 AnomalySize 52428818 AnomalyDurationMillis 100019 TimeoutMillis 200
Full diagnostics information can be displayed with the following command:
$ "%PROGRAMFILES%\Signal Sciences\IIS Module\SigsciCtl.exe" Info
Configure
Configuration changes are typically not necessary. By default, the module will use port 737 to communicate with the agent (or in v2.0.0+, if the agent was configured to use an alternate port, it will use that port). The configuration can be set via the MSI installer, the new SigsciCtl.exe
utility in v2.0.0+, IIS Manager UI, via PowerShell, or using the appcmd.exe
utility.
NOTE
Ensure that the same port number is used by the both the module and the agent configurations.
Using the MSI
To set a configuration option when installing the MSI, specify the option on the command line in option=value
format. For example:
$ msiexec /qn /i sigsci-module-iis_latest.msi agentHost=203.0.113.182 agentPort=737
Using SigsciCtl.exe
To set a configuration option via SigsciCtl.exe
utility after install, use the Configure-Module
command. For example:
$ "%PROGRAMFILES%\Signal Sciences\IIS Module\SigsciCtl.exe" Configure-Module agentHost=203.0.113.182 agentPort=737
To view the active configuration via the SigsciCtl.exe
utility the Get-Configs
command:
$ "%PROGRAMFILES%\Signal Sciences\IIS Module\SigsciCtl.exe" Get-Configs
This should output something similar to the following:
1C:\WINDOWS\system32\inetsrv\config\schema:2
3Date Size Name4-------------------- ------------ --------------------------------52020-02-13 03:12:56Z 677 SignalSciences_schema.xml6
7"SignalSciences" Configuration Section (Global):8
9 Attribute Value10-------------------------------- ----------------------------------------------------------------11 agentHost12 agentPort 73713 statusPagePath14 Debug False15 ReuseConnections False16 MaxPostSize 10000017 AnomalySize 52428818 AnomalyDurationMillis 100019 TimeoutMillis 200
Using PowerShell
To set a configuration option via PowerShell (modern Windows only) use the -SectionPath "SignalSciences"
option such as follows:
$ Set-IISConfigAttributeValue -ConfigElement (Get-IISConfigSection -SectionPath "SignalSciences") -AttributeName "agentPort" -AttributeValue 737
To list the configuration using PowerShell, run the following:
$ (Get-IISConfigSection -SectionPath "SignalSciences").RawAttributes
To reset the configuration to defaults using PowerShell, run the following:
$ Clear-WebConfiguration -Filter SignalSciences -PSPath 'IIS:\'
Using the appcmd.exe
To set a configuration option via the appcmd.exe
command line tool use the -section:SignalSciences
option. For example:
$ "%SYSTEMROOT%\system32\inetsrv\appcmd.exe" set config -section:SignalSciences -agentPort:737
To list the configuration using appcmd.exe
, run the following. Default values will not be shown:
$ "%SYSTEMROOT%\system32\inetsrv\appcmd.exe" list config -section:SignalSciences
To reset the configuration to defaults using appcmd.exe
, run the following:
$ "%SYSTEMROOT%\system32\inetsrv\appcmd.exe" clear config -section:SignalSciences
Uninstall
Open a terminal running as Administrator.
Run the following in the terminal:
$ cd "\%PROGRAMFILES%\Signal Sciences\IIS Module"$ .\SigsciCtl.exe Uninstall
Upgrade
To upgrade the IIS module, you will need to download and install the latest version of the module and verify the configuration is still valid.
If you previously used the ZIP archive to install, then it is recommended that you upgrade via the MSI package. The MSI v1.10.0 or later can be installed over top of an older ZIP file installation following the instructions above.
Do not use this form to send sensitive information. If you need assistance, contact support. This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.