alexsusanu@docs:IIS Knowledge Base Guide $
alexsusanu@docs
:~$ cat IIS Knowledge Base Guide.md

HomeLIMS → IIS Knowledge Base Guide

IIS Knowledge Base Guide

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

Last updated: 2025-08-26 20:00 UTC