Getting to know and installing IIS
- IIS 10.0 architecture: HTTP.sys, Windows Process Activation Service, worker processes and modules
- Install the «Web Server (IIS)» role with Server Manager or PowerShell, including on Server Core; select only the role services you need
- Configuration system: applicationHost.config, web.config, inheritance and locking of sections
- What’s new in Windows Server 2025: the IIS 6 management console and SMTP server have been removed, Digest authentication is deprecated
Websites and bindings
- Examine the default website and directory structure
- Multiple websites on one server: bindings with IP address, port and host name, wildcard host headers
- Virtual directories and applications, default documents, HTTP redirects, custom error pages
- Set up DNS records for websites
Application pools
- Application pools for isolation, application pool identities, managed pipeline
- Configure recycling, idle timeout and rapid-fail protection
- Set CPU and memory limits, application initialisation
Hosting web applications
- Run ASP.NET applications (.NET Framework) and ASP.NET Core with the Hosting Bundle
- Connect PHP and other platforms via FastCGI
- WebSocket, compression and output caching
- Redirect and rewrite rules with the URL Rewrite extension
- Publish applications with Web Deploy
Securing access
- Authentication: anonymous, Basic, Windows Authentication with Kerberos, client certificate mapping
- URL authorization rules, IP address and domain restrictions including dynamic restrictions
- Harden request filtering, directory browsing, handler permissions and response headers
- NTFS permissions in combination with application pool identities
HTTPS, TLS and certificates
- Request, install and renew certificates; HTTPS bindings with Server Name Indication (SNI)
- Centralized Certificate Store for many websites and servers
- Use TLS 1.3 and HTTP/2, enable HTTP/3 over QUIC; TLS 1.0 and 1.1 are disabled by default
- Configure HTTP Strict Transport Security (HSTS) directly in IIS
Remote management and automation
- Set up the Management Service (WMSvc) for remote access with IIS Manager
- Delegate management to website and application owners
- Manage IIS with the IISAdministration and WebAdministration PowerShell modules and appcmd.exe
- Back up the configuration, use the configuration history and restore it
FTP
- Install the FTP Server role service and create FTP sites
- Authentication, authorization and user isolation
- FTP over TLS (FTPS), passive mode and firewall configuration
Monitoring and troubleshooting
- Configure IIS logs in W3C format, custom fields, analysis with PowerShell
- Failed Request Tracing
- HTTP.sys error logs, event logs, performance counters, running worker processes and requests
- Typical error patterns: narrowing down HTTP status codes 401, 403, 500 and 503
Web farms and high availability
- Shared Configuration for multiple web servers
- Distribute content via network shares or DFS Replication, synchronise servers with Web Deploy
- Putting load balancing in context: upstream load balancers and Application Request Routing (ARR); Network Load Balancing is deprecated
- Overview of IIS in Windows containers