Welcome to the definitive hub for IIS (Internet Information Services) administration, security hardening, and optimization on saotn.org. Managing production web servers on Windows Server requires a deep understanding of application pools, request routing, and web security protocols.
Whether you are configuring high-performance web applications, setting up robust URL rewrite architectures, or hardening enterprise environments against modern security vulnerabilities, these step-by-step guides provide the production-ready configurations and troubleshooting steps you need.
Install, configure and automate IIS
- Install IIS in Windows 11 using PowerShell
- How to remove IIS from Windows Server using PowerShell
- Install and setup IIS Manager for Remote Administration (step by step)
- AppCmd introduction and examples
- Target multiple ASP.NET versions with AppCmd.exe
- Add websites and application pools to IIS with PowerShell, in a for loop
- How to install the Web-WebSockets feature in IIS using PowerShell
- IIS backup and restore
- Removing phantom application folders from website configuration in IIS
Application pools
Security hardening, headers and TLS
- What are 4 important security measures for Windows Server & IIS 10?
- Remove IIS Server version HTTP Response Header
- Remove ETags HTTP response header in IIS
- How to enable HTTP Strict-Transport-Security (HSTS) on IIS
- Disable ECDH public server param reuse in Windows Server IIS
- Install SSL / TLS certificates in Windows Server using PowerShell
- Basic Authentication module for Windows Server IIS 10
Block bad bots, spam and abuse
- HackRepair.com's Bad Bots .htaccess in web.config for IIS
- How to block BaiduSpider bot User-Agent?
- Filter web traffic with blacklists
- 3 Ways of blocking sendmail.php on IIS webserver
- Deny vulnerable WordPress plugins using FSRM File Screens
- Grep for forensic log parsing and analysis on Windows Server IIS
- Mod_evasive on IIS
- Are you in my blocklist?
URL Rewrite Module, redirects and web.config
- Convert .htaccess to web.config
- How to install IIS URL Rewrite Module on Windows Server 2016 & IIS 10
- Redirect HTTP to HTTPS
- How to use .htaccess files on Windows Server IIS
- Hide the .php file extension with IIS URL Rewrite Module
- How to add a trailing slash in Umbraco 8
- IIS Outbound Rules with gzip compression
- Rewrite Module error: "Expression contains a repeat expression"
Performance, HTTP/3 and CDN
Monitoring IIS with Zabbix and Performance Counters
PHP on IIS
WordPress and Umbraco on IIS
- My WordPress web.config
- SSL in WordPress: how to move WordPress to HTTPS? The definitive guide
- How to clean up Contact Form 7 temporary captcha files on IIS web servers
- How to optimize Umbraco 8 performance
- 11+ Tips to optimize Umbraco 7 CMS
- Configure SQLServer sessionState for Umbraco
- WordPress 3.5 on IIS 8.0 is unable to save a web.config file
ASP.NET, .NET and troubleshooting
- How to: Determine installed .NET Framework versions
- .svc WCF web service returns 404 Not Found in IIS 8
- "The length of the URL for this request exceeds the configured maxUrlLength value"
- Fix "Could not establish trust relationship for the SSL/TLS secure channel" error
- MySQL Connector/NET and Entity Framework
- MySQL Connector/NET 6.5 in partial trust
- Test MySQL database connectivity with MySql.Data.MySqlClient
- ASP.NET performance: what to keep in mind
- Failed Request Tracing error LOG_FILE_MAX_SIZE_TRUNCATE
- "System.Web.HttpException (0x80004005): The URL-encoded form data is not valid." error after MS11-100
- WCF Service error: "This collection already contains an address with scheme http."