97823ffirs.qxd:WroxPro
2/4/08
9:23 AM
Page iii
Professional
IIS 7.0
Ken Schaefer, Jeff Cochran, Scott Forsyth,
Rob Baugh, Mike Everest & Dennis Glendenning
97823ffirs.qxd:WroxPro
2/4/08
9:23 AM
Page ii
97823ffirs.qxd:WroxPro
2/4/08
9:23 AM
Page i
Professional
IIS 7.0
Part I: Introduction and Deployment
1
Chapter 1: Background on IIS and New Features in IIS 7.0 . . . . . . . . . . . . . . . 3
Chapter 2: IIS 7.0 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Chapter 3: Planning Your Deployment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Chapter 4: Installing IIS 7.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Part II: Administration
121
Chapter 5: Administration Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Chapter 6: Web-Site Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Chapter 7: Web Application Administration. . . . . . . . . . . . . . . . . . . . . . . . . 195
Chapter 8: Web Application Pool Administration . . . . . . . . . . . . . . . . . . . . . 215
Chapter 9: Delegating Remote Administration . . . . . . . . . . . . . . . . . . . . . . 253
Chapter 10: Configuring Other Services . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Part III: Advanced Administration
349
Chapter 11: Core Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Chapter 12: Core Server Extensibility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Chapter 13: Securing the Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Chapter 14: Authentication and Authorization. . . . . . . . . . . . . . . . . . . . . . . 453
Chapter 15: SSL and TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
Chapter 16: Configuring and Load-Balancing Web Farms . . . . . . . . . . . . . . . 527
Chapter 17: Programmatic Configuration and Management. . . . . . . . . . . . . 579
Part IV: Managing and Operating IIS 7.0
623
Chapter 18: IIS and Operations Management . . . . . . . . . . . . . . . . . . . . . . . 625
Chapter 19: Monitoring and Performance Tuning. . . . . . . . . . . . . . . . . . . . . 653
Chapter 20: Diagnostics and Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . 697
Appendix A: Module Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
Appendix B: IIS Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
Appendix C: WCF Primer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771
Appendix D: Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
97823ffirs.qxd:WroxPro
2/4/08
9:23 AM
Page ii
97823ffirs.qxd:WroxPro
2/4/08
9:23 AM
Page iii
Professional
IIS 7.0
Ken Schaefer, Jeff Cochran, Scott Forsyth,
Rob Baugh, Mike Everest & Dennis Glendenning
97823ffirs.qxd:WroxPro
2/4/08
9:23 AM
Page iv
Professional IIS 7.0
Published by
Wiley Publishing, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256
www.wiley.com
Copyright © 2008 by Wiley Publishing, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-0-470-09782-3
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
Library of Congress Cataloging-in-Publication Data
Professional IIS 7 / Ken Schaefer ... [et al.].
p. cm.
Includes index.
ISBN 978-0-470-09782-3 (paper/website)
1. Microsoft Internet information server. 2. Web servers. I. Schaefer, Ken. II. Title: Professional Internet
Information Server 7.
TK5105.875.I57P755 2008
005.7'1376--dc22
2008001369
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by
any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted
under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright
Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to
the Publisher for permission should be addressed to the Legal Department, Wiley Publishing, Inc., 10475
Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4355, or online at
/>Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all
warranties, including without limitation warranties of fitness for a particular purpose. No warranty may be
created or extended by sales or promotional materials. The advice and strategies contained herein may not
be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in
rendering legal, accounting, or other professional services. If professional assistance is required, the services
of a competent professional person should be sought. Neither the publisher nor the author shall be liable for
damages arising herefrom. The fact that an organization or Website is referred to in this work as a citation
and/or a potential source of further information does not mean that the author or the publisher endorses the
information the organization or Website may provide or recommendations it may make. Further, readers
should be aware that Internet Websites listed in this work may have changed or disappeared between when
this work was written and when it is read.
For general information on our other products and services, please contact our Customer Care Department
within the United States at (800) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, Wrox Programmer to Programmer, and related
trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the
United States and other countries, and may not be used without written permission. All other trademarks
are the property of their respective owners. Wiley Publishing, Inc., is not associated with any product or
vendor mentioned in this book.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not
be available in electronic books.
97823ffirs.qxd:WroxPro
2/4/08
9:23 AM
Page v
About the Authors
Ken Schaefer is a systems engineer consultant for global systems integrator Avanade. Avanade is a joint
partnership between Microsoft and Accenture and focuses on enterprise projects across the Microsoft
product stack. Ken has worked with IIS for around 10 years and has been a Microsoft MVP for IIS since
2003. He has presented at numerous Microsoft Tech.Ed events across the United States, Australia, and
Asia; written articles for Microsoft TechNet; and spent countless hours talking about IIS at other events,
user group meetings, and road shows. He is currently an MCSE, MCDBA, MCTS, and holds a Masters in
Business and Technology from UNSW. When he isn’t thinking about IIS, Ken can usually be found tinkering with Active Directory, Operations Manager, SQL Server, Windows Media Center, Virtual PC…
Thank you, Julia, Sebastien, and Theo for putting up with the trials, tribulations, and late nights involved in writing a book, again. This would not have been possible without your love and support.
As the lead author, on behalf of all the authors, I’d like to thank Bob Elliot and John Sleeva and the rest of the team
from Wiley for their never-ending patience whilst we put this book together.
Jeff Cochran is a Senior Network Specialist for the City of Naples, Florida, and has been employed in
the computer networking industry for nearly two decades. Beginning with computer bulletin boards on
a Commodore 64 in the early 1980s, he has worked with nearly every method of communication via
computer since. In the early 1990s, he started the first commercial ISP in Southwest Florida, using
Windows NT 3.51 systems for mail, web, and FTP servers.
Jeff is married to Zina, a self-employed graphic designer, and spends his free time remodeling a 1950s
home in Naples. Although most of his personal hobbies revolve around computers, he enjoys
Geocaching and collecting pinball machines, and is still addicted to Age of Empires.
Writing for this book, I must thank members of the IIS team, especially Chris, Carlos, Alexis, Mai-lan, Faith,
Robert, Anil, Bilal, Eric, and Thomas. I also thank my coauthors for their suggestions and insight.
To Zina, without whom there would be no reason to write.
Scott Forsyth works for ORCS Web, Inc. as the Director of IT. ORCS Web is a Microsoft Certified Partner
offering web hosting services utilizing the IIS platform for hosting of ASP.NET, SharePoint, SQL Server,
Exchange and other technologies. He is a Microsoft MVP for ASP.NET, an ASP Insider and has multiple
MCP certifications.
Scott is married and has two kids, Joel and Alisha, who don’t work with IIS yet but do spend countless
hours on the computer. When he's not in front of a computer, Scott leads a youth group at his local
church, plays the drums and enjoys playing table tennis.
For my wife, Melissa, and my children, Joel and Alisha, who patiently support me in work and writing.
97823ffirs.qxd:WroxPro
2/4/08
9:23 AM
Page vi
Rob Baugh is the VP of IT for Anres Technologies. He has been in the IT field since 1999 and has worked
with IIS the entire time. He has multiple Microsoft Certified Professional certifications.
Rob is married to Stacy and they have one daughter, Emily. His passion (when away from computers) is
scuba diving, so he recently relocated to Merida, Mexico to be closer to the blue waters of the Caribbean.
Thanks to my ever faithful bride, Stacy, for supporting me throughout the many late nights spent writing.
Mike Everest has had an interest in computing from the time he first laid eyes on a PC at high school in
1978. He operated a series of Bulletin Board Systems throughout the 1980s while completing his undergraduate studies and experimenting with early Internet technologies.
Mike began working with web servers in the early 1990s and established the first commercial web hosting platform in his regional hometown of Geelong, Australia. Since then, specializing in Internet infrastructure, hosting services, and ISP systems, he has participated in establishing and developing no fewer
than seven technology companies, sold two, and maintains an ongoing interest in three.
Mike is delighted to have had the opportunity to contribute to this book and is more than happy to
receive comments, questions, and criticisms from readers.
Special thanks to all of the IIS 7.0 team at Microsoft, for without such an excellent product we would have nothing
to write about.
Dennis Glendenning (MA, MBA, MCSA+Msg, MCSE, PMP) is a Principal Systems Engineer with
Avanade, where he provides design and delivery leadership for large-scale technology integration projects. Dennis’s background includes graduate training, professional certifications, and a blend of technical
and project management experience that spans more than 15 years. In addition to delivering technology
architectures for Fortune 500 companies, Dennis has led several eCommerce infrastructure teams to leverage IIS in the public safety, insurance, and financial industries. Although he travels the United States for
work, Dennis lives in Cleveland, Ohio with his wife and two children, and he revels in hiking, history,
great speeches, and epic FPS PC games. Dennis can be reached at
I would like to thank Ken Schaefer for offering the opportunity to contribute and for coordinating many tasks
among the authors. John Sleeva has my thanks for doing a fantastic job editing, with much of the quality of my
contributions due to John’s terrific advice. Finally, Greg Molnar also has my gratitude, for giving support and
accommodations, advice, and friendship during this project.
To my lovely wife and new mother, Melissa Jean, and to our amazing children, Jessica and Nicolas: May you see,
do, and love all that life promises.
97823ffirs.qxd:WroxPro
2/4/08
9:23 AM
Page vii
Credits
Executive Editor
Vice President and Executive Group Publisher
Robert Elliott
Richard Swadley
Development Editor
Vice President and Executive Publisher
John Sleeva
Joseph B. Wikert
Technical Editor
Project Coordinator, Cover
Pierre Greborio
Lynsey Stanford
Production Editor
Proofreaders
Daniel Scribner
Christopher M. Jones, Kate Reilly,
Corina Copp, Jeremy Bagai
Copy Editor
Catherine Caffrey
Indexer
Robert Swanson
Editorial Manager
Mary Beth Wakefield
Compositors
Production Manager
Craig Thomas, Craig Woods
Happenstance Type-O-Rama
Tim Tate
97823ffirs.qxd:WroxPro
2/4/08
9:23 AM
Page viii
97823ftoc.qxd:WroxPro
2/4/08
6:32 PM
Page ix
Contents
Introduction
xxiii
Part I: Introduction and Deployment
1
Chapter 1: Background on IIS and New Features in IIS 7.0
3
IIS Versions 1.0 to 4.0
IIS 5.0 and 5.1
IIS 6.0
4
4
5
Secure by Default
Request Processing
Additional Features
5
5
6
IIS 7.0 Versions
IIS 7.0 Features
Integrated Request Pipeline
Configurability
Componentization
Security
IIS Administration Tools
Diagnostics
Compatibility
Additional Features
Summary
7
8
9
11
14
14
19
23
23
25
26
Chapter 2: IIS 7.0 Architecture
27
IIS 4.0 and Previous Versions
27
Inetinfo.exe
ISAPI versus CGI
Active Server Pages
IIS 5.0
Application Protection
IIS 6.0
Http.sys
IIS Admin Service
Web Administration Service
28
29
30
30
30
31
31
32
32
97823ftoc.qxd:WroxPro
2/4/08
6:32 PM
Page x
Contents
Worker Process
Application Pools
33
33
IIS 7.0 Architecture
34
Integrated Pipeline Mode
Extensibility and Modularity
IIS Manager Extensibility
Metabase — Going, Going, Gone!
WAS and the Worker Process
35
37
38
38
41
Windows Server 2008 Architecture
41
Server Core
Virtualization
Failover Clustering
WCF
BitLocker Encryption
Network Access Protection
Summary
Chapter 3: Planning Your Deployment
Windows 2008 Server Deployment Planning
Windows Server 2008 Requirements
32 Bit or 64 Bit?
Which Server Edition?
Upgrade or New Installation?
Planning Your Hardware
Planning Your Network
Planning Your Security
Planning Backup and Recovery
IIS 7.0 Deployment Planning
44
47
47
48
48
49
52
53
54
59
64
65
IIS 7.0 Requirements
Installation Decisions
Planning for IIS-Specific Security
Planning Development Environments
Planning Production Environments
Shared Configuration
Content Replication
66
66
66
68
69
69
70
Application Deployment Planning
Automation and Deployment Tools
70
71
Windows Deployment Services
Volume Activation
Capacity Planning
Traffic
WCAT
x
42
42
43
43
44
44
71
72
72
72
73
97823ftoc.qxd:WroxPro
2/4/08
6:32 PM
Page xi
Contents
IIS 7.0 Request Tracing
Scalability
Application Capacity Planning
Summary
Chapter 4: Installing IIS 7.0
Clean Installation
With Windows Server 2008 Installation
From DVD to an Existing Server
73
74
74
75
77
78
78
85
Upgrade Installation
90
In-Place Upgrade
Migration Upgrade
90
94
Adding Features to an Existing Installation
Installing New Features
Configuring and Testing New Features
Automated Installation and Configuration
Server Core Command-Line Installation
Pkgmgr.exe
Unattended Installations Using Pkgmgr.exe
Installation Using Windows Deployment Services
Hosting Service Recommendations
Directory Structure
Web Server Accounts and Application Pools
Configuring Shared Hosting with Managed Code
Shared Configuration
Installing IIS 7.0 on Windows Vista
IIS 7.0 Support
IIS 7.0 Installation
Summary
Part II: Administration
Chapter 5: Administration Tools
95
96
96
102
102
103
104
107
107
108
110
110
117
119
119
119
120
121
123
Key Characteristics
IIS Manager
123
124
Appearance
Feature Scopes
Features View
Content View
Feature Delegation
124
125
126
129
129
xi
97823ftoc.qxd:WroxPro
2/4/08
6:32 PM
Page xii
Contents
IIS Manager Extensibility
Configuration Settings
Configuration File Hierarchy
Configuration Levels
Location Tags
Configuration File Structure
Configuration Schema
Locking and Unlocking Sections
Command-Line Management
Using AppCmd.exe
Getting Help
Using the list Command
AppCmd.exe Attributes and Values
Managing Objects with add, delete, and set
Determining Which Attributes Are Associated with an Object
Controlling Object State
Backing Up and Restoring
Setting the Configuration
Locking and Unlocking the Configuration
Piping with XML
Web Management Service and Remote Administration
Summary
Chapter 6: Web-Site Administration
Web Sites, Applications, and Virtual Directories
Web Sites
Applications
Virtual Directories
Creating a New Web Site
Creating a Web Site Using IIS Manager
Creating a New Application Pool for Your Site
Creating a Web Site Using AppCmd
Creating a Web Site Using Microsoft.Web.Administration
Changes to the applicationHost.config File
130
131
131
132
133
136
137
138
138
141
144
144
145
146
148
149
155
155
156
156
157
158
158
159
159
159
159
161
162
165
166
Configuring Logging
167
Enabling Logging
167
Configuring Host Headers
Administering Applications
Adding Applications Using IIS Manager
Adding Applications Using AppCmd
Adding Applications Using Microsoft.Web.Administration
Deleting Applications Using IIS Manager
xii
130
130
174
178
178
179
180
180
97823ftoc.qxd:WroxPro
2/4/08
6:32 PM
Page xiii
Contents
Deleting Applications Using AppCmd
Deleting Applications Using Microsoft.Web.Administration
Administering Virtual Directories
Creating Virtual Directories Using IIS Manager
Creating Virtual Directories Using AppCmd
Adding Virtual Directories Using Microsoft.Web.Administration
Removing Virtual Directories
Authentication
Configuring Compression
Configuring Default Document Settings
Configuring MIME Settings
Adding MIME Types
Editing MIME Types
Removing MIME Types
Basic Administration Tasks
Configuring Default Options for IIS
Starting and Stopping Services and Web Sites
Enabling Dynamic Content — ASP.NET and Classic ASP
Isolating Applications
Summary
Chapter 7: Web Application Administration
Application Administration
ASP
ASP.NET
IIS 6.0 and Previous Architecture
IIS 7.0 Architecture
IIS 7.0 and ASP.NET Modules
ISAPI
CGI
FastCGI
Installing PHP
Installing QDig
Installing FastCGI Module
Enabling FastCGI for Use with PHP
Windows Process Activation Service
Summary
Chapter 8: Web Application Pool Administration
A Background of Web-Site Separation
Defining Applications
180
181
181
181
183
183
184
184
185
187
188
188
189
189
190
190
190
192
192
193
195
195
196
196
197
197
198
208
210
210
211
211
211
211
212
213
215
215
216
xiii
97823ftoc.qxd:WroxPro
2/4/08
6:32 PM
Page xiv
Contents
Comparing Virtual Directories to Applications
Understanding the w3wp.exe Process
Recycling Application Pools
Web Gardens
Working with Application Pools
Creating Application Pools
Managing Settings
Assigning Applications and Sites to Application Pools
Specifying the .NET Framework Version
Specifying the Managed Pipeline Mode
Managing Active Application Pools
Application Pool Security
Application Pool Configuration Isolation
Application Pool SID Injection
Site Anonymous User
Noteworthy Advanced Settings
Bitness
CPU Limits
Processor Affinity
Application Pool Users
Network Service Account
Local Service Account
Local System Account
Custom User Account
Summary
Chapter 9: Delegating Remote Administration
Introducing the Main Characters
218
220
221
222
224
225
226
230
234
236
240
245
246
246
247
248
248
248
249
249
250
251
251
251
252
253
253
Server Administrator
Site Administrator
The Two Shall Work as One
254
254
255
IIS Manager Remote Access
255
Installing the IIS 7.0 Management Service
Enabling Remote Connections
Authentication Types
Authorization at Three Levels
Remote Installation and Usage
Extending IIS Manager
Delegation Settings
Delegation of Sections
Delegating the Small Details
Summary
xiv
255
256
260
263
265
266
267
267
285
289
97823ftoc.qxd:WroxPro
2/4/08
6:32 PM
Page xv
Contents
Chapter 10: Configuring Other Services
FTP — Shipping Version
FTP Basics
Installing the FTP Service
Creating an FTP Site
Automating FTP Site Creation and Management
The FTP Command-Line Client
FTP 7
Installing FTP 7
Creating a New FTP 7 Site
Adding an FTP 7 Site to an Existing Web Site
Configuring FTP 7 Security
Configuring FTP 7 over SSL
Configuring FTP 7 User Isolation
Configuring FTP 7 Host Name Support
Administering FTP 7 with Configuration Files
FrontPage Server Extensions
Installing FPSE
Adding FPSE to a Web Site
Configuring FPSE
Securing an FPSE-Extended Web Site
Connecting Using a Client
Uninstalling FPSE
SMTP
How SMTP Works
Installing SMTP
Configuring the Default SMTP Server
SMTP Security and Authentication
Configuring Additional Domains
SMTP Folders
Testing and Troubleshooting SMTP
LogParser
Summary
Part III: Advanced Administration
Chapter 11: Core Server
Background
Core Server and Modules
HTTP Modules
291
292
292
295
295
301
302
304
304
305
306
308
311
312
314
315
320
321
322
324
326
328
328
329
330
330
331
335
338
339
340
343
347
349
351
351
353
354
xv
97823ftoc.qxd:WroxPro
2/4/08
6:32 PM
Page xvi
Contents
Server Workload Customization
Eliminating Overheads
A Basic Real-World Example
A More Complex Real-World Example
Customizing Individual Web Sites
Customization Using IIS Manager
ASP.NET and the IIS Pipeline
Configuring ASP.NET Execution Mode
Migrating Legacy ASP.NET Applications to IIS 7.0
Selecting the ASP.NET Version
Legacy ISAPI Support
Summary
Chapter 12: Core Server Extensibility
360
361
362
363
364
368
370
370
373
374
374
375
377
Extensibility Overview
IIS Module Concepts
377
378
Events
Notifications
Return Codes
Notification Priority
379
381
382
382
An Example Native Module
Native Module Design
Native Module Creation
Native Module Wrap-Up
Managed Code Modules
384
385
385
395
395
Managed Event Notifications
Further Reading
397
398
An Example Managed Module
398
Managed Module Design
Managed Module Creation
Managed Module Wrap-Up
398
398
403
Event Tracing from Modules
403
Adding Tracing Support to a Managed Code Module
Extending IIS Configuration
Adding Configuration Support to Custom Modules
Extending the IIS Administration Tool
Creating an IIS Administration Tool Extension
Summary
xvi
404
409
409
414
414
424
97823ftoc.qxd:WroxPro
2/4/08
6:32 PM
Page xvii
Contents
Chapter 13: Securing the Server
What Is Security?
Managing Risk
Security Components
Types of Attacks
Denial-of-Service Attacks
Privilege Escalation Attacks
Passive Attacks
Securing the Server
Securing the Environment
IPsec (IP Security)
Network Access Protection
Active Directory Federation Services
Securing IIS 7.0
IP and Domain Restrictions
Configuring MIME-Type Extensions
Configuring ISAPI Extensions and CGI Restrictions
Configuring Request Filtering
Application Layer Security
Configuring Logging
Summary
425
426
427
427
427
428
429
429
429
430
431
432
434
434
438
440
445
449
450
451
Chapter 14: Authentication and Authorization
Authentication in IIS 7.0
How IIS 7.0 Authenticates a Client
Configuring
Configuring
Configuring
Configuring
425
Anonymous Authentication
Basic Authentication
Digest Authentication
NTLM Authentication
Configuring Kerberos Authentication
Configuring UNC Authentication
Configuring Client Certificate Authentication
Configuring Forms-Based Authentication
Forms-Based Authentication
Configuring Delegation
Configuring Protocol Transition
Configuring Authorization
URL Authorization
Configuring Application Pool Sandboxing
Understanding IIS 7.0 User Accounts
Summary
453
454
455
457
459
461
465
472
477
479
481
483
484
489
490
492
494
495
497
xvii
97823ftoc.qxd:WroxPro
2/4/08
6:32 PM
Page xviii
Contents
Chapter 15: SSL and TLS
Securing a Web Site with TLS
The SSL/TLS Handshake
Generating a Certificate Request
Submitting the Certificate Request
Importing the Certificate into IIS 7.0
Configuring Web-Site Bindings
Generating a Certificate Using Domain Certificate Request
Generating a Self-Signed Certificate
Managing an SSL/TLS-Secured Web Site
Managing a PKI
Securing an SMTP Virtual Server with TLS
Securing an FTP Site with TLS
Summary
Chapter 16: Configuring and Load-Balancing Web Farms
499
500
500
503
508
510
511
512
513
514
517
520
522
525
527
IIS 7.0 and Web Farms
527
Shared Configuration
528
Content Configuration
Local Content
Shared Network Content
Shared SAN Content
Content Replication
Distributed File System
Robocopy
Offline Folders
Additional Tools
Microsoft Web Deployment Tool
Complete Redundancy
Load Balancing
Network Load Balancer (NLB)
Round-Robin DNS Load Balancing
Third-Party Load Balancing
Other Considerations
Replication
.NET Configuration Files and machineKey
Session State
Security
Summary
xviii
543
544
545
547
548
549
551
552
554
554
555
555
556
562
563
564
564
569
571
575
577
97823ftoc.qxd:WroxPro
2/4/08
6:32 PM
Page xix
Contents
Chapter 17: Programmatic Configuration and Management
Direct Configuration
579
580
Configuration File Hierarchy
Order of Operation
Collection Items
Section Structure
location Tag
Inheritance
Locking
childConfig/sourceConfig
Configuration Path
Schema Extensibility
580
582
583
586
587
590
591
592
592
593
Programmatic Configuration
597
My First IIS 7.0 Programming Walkthrough
Microsoft.Web.Administration (MWA)
Microsoft.Web.Management (MWM)
ABO, ADSI, and Legacy API Support
IIS 7.0 WMI Provider
AHAdmin
Summary
Part IV: Managing and Operating IIS 7.0
Chapter 18: IIS and Operations Management
Management Approaches and Principles
ITIL Standards
MOF: Microsoft’s ITIL Superset
Applying MOF to IIS Operations Management
Operational Tasks
Backup and Restore Program
Summary
Chapter 19: Monitoring and Performance Tuning
Monitoring Web Sites
How to Monitor IIS 7.0
What to Monitor
Performance Tuning
Operating System Optimizations
IIS Service Optimizations
Web-Site Optimizations
Summary
598
604
611
612
613
619
621
623
625
625
626
627
631
643
643
650
653
653
654
669
677
677
682
688
696
xix
97823ftoc.qxd:WroxPro
2/4/08
6:32 PM
Page xx
Contents
Chapter 20: Diagnostics and Troubleshooting
Types of Issues
697
Specific Errors
Hang/Time-out Issues
Resource-Intensive and Slowness Issues
698
698
699
Runtime Status and Control API (RSCA)
700
Viewing Worker Processes
Viewing Page Requests
Viewing Application Domains
IIS 7.0 Error Pages
Customizing Custom Error Pages
Multiple Language Support
HTTP Status Codes
FTP Status Codes
Failed Request Tracing
Failed Request Tracing Rule Setup
Select Trace Providers
Reading the XML Trace Logs
Logging
ASP.NET Tracing
Enabling ASP.NET Tracing
The ASP.NET Trace Viewer
Troubleshooting Tips
Reproduce
Isolate
Fix
Test
Additional Built-in Tools
Task Manager
Event Viewer
Reliability and Performance Monitor
Logging NTFS Failures to Disk
Ping/Tracert/Pingpath
Telnet
Installable Tools
IIS 6.0 Resource Kit Tools
DelegConfig
Process Explorer
IIS Diagnostics Toolkit
ELMAH
Where to Go Next
Summary
xx
697
700
703
704
705
706
709
709
709
710
711
713
714
715
716
716
718
721
721
722
725
725
725
725
726
728
736
737
739
739
739
745
745
747
748
749
749
97823ftoc.qxd:WroxPro
2/4/08
6:32 PM
Page xxi
Contents
Appendix A: Module Reference
Utility Modules
Managed Engine: ASP.NET Integration
IIS 7.0 Native Modules
Managed Modules
Appendix B: IIS Status Codes
HTTP
1xx
2xx
3xx
4xx
5xx
751
752
753
761
765
765
—
—
—
—
—
Informational
Success
Redirection
Client Error
Server Error
FTP
1xx
2xx
3xx
4xx
5xx
751
765
765
766
766
767
768
—
—
—
—
—
Positive Preliminary Reply
Positive Completion Reply
Positive Intermediate Reply
Transient Negative Completion Reply
Permanent Negative Completion Reply
Appendix C: WCF Primer
Service-Oriented Applications
WCF and ASP.NET Web Services
WAS and WCF
Configuring a WCF Application
Appendix D: Resources
768
768
769
769
769
771
771
772
773
774
777
IIS Product Group Resources
IIS Public Newsgroups
Standards Documents
Blogs
Microsoft Documentation
Third-Party Products and Tools
Security Documentation
777
777
778
778
779
779
779
Index
781
xxi
97823flast.qxd:WroxPro
2/4/08
6:31 PM
Page xxii