Skip to content

IIS Knowledge Base Guide

Category: IIS Administration Tags: IIS, Windows, Web Server, Configuration, Best Practices, Knowledge Base

Why Install IIS on F: Drive Instead of C:

Performance Benefits - Separates web content from system drive to reduce I/O contention - F: drive is typically larger storage dedicated to data - C: drive reserved for operating system files

Management Advantages - Easier backup strategies - web content isolated from system files - Better security through application separation - Corporate policies often mandate separating applications from OS - Storage management - prevents web logs from filling system drive

IIS Manager vs Log Files

IIS Manager

What it is: Graphical management console for configuring IIS - Configure websites, application pools, virtual directories - Set authentication, SSL certificates, URL rewriting rules - Monitor real-time performance and active connections - Location: %windir%\system32\inetsrv\InetMgr.exe

IIS Log Files

What they are: Automatically generated records of all web requests - Default location: C:\inetpub\logs\LogFiles\W3SVC1\ - Contains request details, response codes, timestamps, IP addresses - Used for traffic analysis, troubleshooting, security monitoring, compliance

W3C Log Format - Why Use It?

Industry Standard - W3C Extended Log Format is universally recognized - Compatible with most log analysis tools (LogParser, AWStats, Webalizer)

Customizable and Efficient - Choose which fields to log (date, IP, status codes, user agents, etc.) - Only logs necessary data, reducing file size and storage costs - Well-structured format enables automated parsing and analysis

Tool Integration - Works seamlessly with Microsoft LogParser - Supports third-party analytics and monitoring solutions - Easy to import into databases and reporting tools

IIS Server Configuration Options

.NET Authorization

Purpose: Controls access to .NET applications and resources

What it manages: - Authentication methods (Windows Authentication, Forms Authentication, Anonymous) - Authorization rules for specific users and roles - Access control for pages, directories, or application methods - Integration with ASP.NET membership providers and Active Directory

.NET Compilation

Purpose: Defines how ASP.NET code is compiled and executed

Key settings: - Debug vs Release mode: Debug includes debugging symbols, Release is optimized for performance - Target Framework: Specifies .NET version (.NET Framework 4.8, .NET Core, etc.) - Compilation options: Batch compilation settings for better performance - Temporary files: Manages compiled assemblies in temporary ASP.NET files directory

.NET Error Pages

Purpose: Controls how application errors are displayed to users

Configuration options: - Custom error pages: Display user-friendly pages instead of technical stack traces - Error modes: - On - Always show custom errors - Off - Always show detailed errors (development only) - RemoteOnly - Show custom errors to remote users, detailed to local users - Default redirects: Specify custom pages for 404 (not found) and 500 (server error) responses - Security benefit: Prevents sensitive application information from being exposed to end users

MIME Types

Purpose: Tells web browsers how to handle different file types

How it works: - File associations: Maps file extensions to content types - .pdfapplication/pdf - .jpgimage/jpeg - .jsonapplication/json - Browser behavior: Determines whether file is displayed in browser or downloaded - Content handling: Controls streaming, caching, and compression settings - Security: Prevents execution of unknown or potentially dangerous file types

Common MIME types: - text/html - HTML web pages - text/css - Cascading Style Sheets - application/javascript - JavaScript files - image/png - PNG image files - application/json - JSON data responses - application/octet-stream - Generic binary files (forces download)

Quick Reference

Default Log Location: C:\inetpub\logs\LogFiles\W3SVC1\

IIS Manager Path: %windir%\system32\inetsrv\InetMgr.exe

Log File Naming: ex[YYMMDD].log (example: ex241201.log for December 1, 2024)

Key Log Fields: - date time - When request occurred - c-ip - Client IP address - cs-method - HTTP method (GET, POST, etc.) - cs-uri-stem - Requested URL path - sc-status - HTTP response code - time-taken - Processing time in milliseconds