作者:empty 页数:815 出版社:empty |
ACIP catalogue record for this book is available from the British LibraryMie rosoft Press books are available through booksellers and dit i but ots worldwide.For further in for-mation about inte mational editions, com act your local Microsoft Corporation offce or contact MicrosoftPress Inte mational dire et ly at fax(425) 936-7329.Visit our Website at www.microsoftcom/ms press.Send comment stork input a microsoftcom.
Microsoft, Microsoft Press, Active Directory, InternetExplorer, JSe rip t, MSDN, Silver light.SQLServer, VisualBasic, VisualStudio, Win 32, Windows, Windows Med in, WindowsNT, WindowsPower Shell, Windows Server, Windows Vista and Xbox are either registered trademarks ortrade arks of Micro saft Car pur at on in the Unted Sates and Vor other countries.Other product andcompany names mentioned herein maybe the trademarks of the irrespective ownersThe example companies, organizations, products, domainnames.c mail addresses, logos, people, placesand events depicted herein are fictitious No association with any real company, organization, product,domainname, c-mail address, logo, person, place, or event is intended or should be in feed.This book expresses the au shor views and opin ins.The in farm a ion contine din this book is prov dedwithout any express, statutory, or implied warranties.Neither the authors, Microsoft Corporation, b or itsresellers, or distributors will he held liable for any damages caused or alleged to because d either directlyor indirectly by this hook
Acknowledgments
The hook that you now hold in your hands is the result of the collee tive effort of maty peopleWed like to star thy thanking Bll Staples, MalLanTomsenBukovec, and the whole I ISproduct team for their support Several of us work in the lIS product team, and we knowfirsthand that we simply wouldn't be able to work on this hook without the team's invaluableassistance
Second y, wear every grateful to Martin Del Re of Microsoft Press for his vist on, his hard workin geting this project off the ground and ensuring its successful completion, and also for htsneverending support and encouragement
Tt takes alot of people and alot of work to br nga book like this to life.There are severalpeople in particular who we would lke to acknowledge, the book would not be there withoutthem BrettH il started this project and soldiered through ull its completion Special thanks toMike Volo dar sky, whose passion for quality and cotn plete ness resulted in him stepping up asthe lead author Kurt Meyer helped alot as a project manager coordina tng the writing andensuring that the project tile stones were not widely missedMany of our colleagues on the llS product team had significant in pui into the book contentIn fact, each chapter was reviewed by atleast one member of the product team Other productteam members wrote the Direct from the Source side hars that are peppered throughout thebook, bringing you a unique insight into the design and development of I IS 70.We would liketo express our sincere gratitude to the following members of the I IS product team whoworked with us on this book.listed in alphabetical order by firstname:Anil Ruia, Bil Staples,Edmund Chou, Eric De ily, Fabio Yeon, Jaroslav Duna j sky, Kanwal eet Singla.Nazim La a,Michael Brown, Thomas Marquardt, Tobin Titus, Ul ad Mala shank a, and Wade Hl moWe would also like to thank Tito Leverette for his guidance on and contributions toChapter 17.“Perl or mance and Tuning”
Many other teams in Microsoft provided technical reviews and shared their experience andinsights In particular, we are grateful to Tom Haw thom of the Windows Performance team, aswell as George Holman and the whole Microsoftcom Operations team, Nick Me Collum ofQuixtar Inc also helped with technical reviews and suggestions in Chapters 5, 15, and 17Next, we would like to acknowledge our outstanding editorial team.In particular, we wouldlike to thank the project editors, Karen Sz all and Victoria T hulman of Microsoft Press, for theirprofessionalism, mentor ig, excellent editor lal work, and, more than anything, their patience
Part lFoundation
1Introducing I IS 7.0..
2Understanding I IS 7.0 Architecture..
Understanding the Modular Foundation..
4Understanding the Configuration System..
Part IIDeployment
5Installing I IS 7.0.
Part II Administration
6Using I IS Manager.
7Using CommandLine Tools.
8Remote Administration..
9Managing WebSites..
10Managing Applications and Application Pools.
11Hosting Application Development Frameworks..
12Managing WebServer Modules.
Part Iv Troubleshooting and Performance
Part V
Managing Configuration and UserInterface Extensions..
Implementing Security Strategies..
Logging..
Tracing and Troubleshooting..
Performance and Tuning...
Appendices
AI IS 7.0HTTP Status Codes..
BI IS 7.0 Error Messages..
CI IS 7.0 Modules Listing.
DModules Sequence..
ivContents at a Glance
EI IS 7.0 Default Settings and Time-Outs/Thresholds..
FI IS 7.0 and 64-Bit Windows..
GI IS Manager Features to Configuration References
HI IS 6.0 Metabase Mapping to I IS 7.0..
ii
I IS 7.0 Shared Hosting......
Common Administrative Tasks Using I IS Manager..
Part l
vi
Acknowledgments...
Introduction....
What's New in I IS 7.0..
Overview of Book....
Document Conventions..
Companion Media...
Reader Aids...
Sidebars....
CommandLine Examples..
Resource Kit Support Policy,
Core WebServer..
Configuration..
Administration Tools-
Diagnostics...
Windows Process Activation Service..
Application Compatibility..
Creating a WebSite..
Creating an Application
Creating a Virtual Directory
Assigning an Application to an Application Pool..
The lde as..
Types of Modules...
Modules and Configuration...
Security...
Performance.
Extensibility.
Configuration File Hierarchy..
Configuration File Syntax
Find Additional Content Online., ,
Foundation
1Introducing I IS 7.0..
Overview of IlS 7.0.
WhatsNew in I IS 7.0..
Basic Administration Tasks..
Creating an Application Pool...
HTTP sys.
WorldWide Web Publishing Service.
Windows Process Activation Service..
Configuration Store...
Worker Process.....
Classic Mode..
NET Integrated Mode..
Module Scope........
Module Ordering.....
Concepts.....
Key Benefits...
Built-in Modules..
Summary...
Additional Resources......
Overview of the Configuration System...
What do you think of this book?We want to hear from you!
Microsoft is interested in hearing your feedback so we can cont nu ally improve our books and leaming
resources for you.To participate in a brief online survey.please visit
TableofContents
229
www.icrosof.com/leaming/booksurvey/
HS 7.0 Features in Windows Server 2008 and Windows Vista.
Summary....
Additional Resources.
Understanding I IS 7.0 Architecture.
Overview of I IS 7.0 Architecture
IS 7.0Core Components..
Request Processing in Application Pool.
Non-HTTPRequest Processing-.
Summary.....
Additional Resources.
3Understanding the Modular Foundation.
4Understanding the Configuration System.
The lIS 7.0Coni guration System and the lIS 6.0 Metabase.,
I IS 7.0 and the NET Configuration Systems...
Deciding Where to Place Configuration..
Setting Configuration.....
Understanding Configuration Errors...
Backing Up Configuration, .
Using Configuration History...
Exporting and Importing Configuration..
Delegating Configuration...
Sharing Configuration Between Servers..
Installation Scenarios for lIS 7.0...
Ways to Install IS 7.0...
Using Server Manager...
Using Package Manager,
Using Server Manager CMD..
Unattended Answer Files.
Sysprep/New Setup System, .
Auto-Installs........
Windows Server 2008 Setup for Optional Features...
Folders and Content.
Registry...
Services.
Validation..
Event Logs,
HS 7.0Log..
Other Related Logging Options...
The UserInterface in Windows Server 2008 and Windows Vista...
CommandLine Method...
Navigation Toolbar.
Connections Pane..
Workspace....
Actions Pane....*.
Feature to Mad ule Mapping...
Where the Configuration Is Written--.
Feature Scope.....
App cmd Syntax..
Supported Objects...
Getting Help...,
Understanding App cmd Output...
General Parameters.,
Using Range Operators...
Avoiding Common App cmd Pitfalls.
Using the List Command to List and Find Objects.
Using the Add Verb to Create Objects..
Editing Configuration...
Managing Conf guration...
Summary..........
Additional Resources..
Deployment
Installing I IS 7.0..
Part II
5
Planning the In staat on...
Post Installation......
Troubleshooting Installation..
Removing I IS 7.0...
Additional Resources..
Overview of IS Manager,
Starting I IS Manager.
I IS Manager UserInterface.
Understanding Features..
Using CommandLine Management Tools.
App cmd.exe..
GettingStarted with App cmd.
Using Basic Verbs:List, Add, Set, Delete...
Using the SerVer b to Change Existing Objects...
Using the Delete Verb to Remove Objects..
Viewing Configuration with the List Config Command, .
Setting Configuration with the Set Config Command.
Managing Configuration Delegation...
Managing Configuration Backups....
Listing Running I IS Worker Processes..
Listing Currently Executing Requests.
Turning on Failed Request Tracing...
Creating Failed Request Tracing Rules.
Searching Failed Request Tracing logs..
Creating Sites with MWA..
Creating Application Pools with MWA,
Setting Configuration....
Installation........
W MSvc Configuration....
Managing Remote Administration..
Using Remote Administration.
Troubleshooting...
Logging......
Configuring WebSite Logging and Failed Request Tracing..
Configuring the Application to Use Remote Content...
Selecting the Security Model for Accessing Remote Content.
Configuring Fixed Credentials for Accessing Remote Content.
Working with Configuration...
WebSites..
Applications..
Virtual Directories..
Application Pools..
Adding a New WebSite-++.+
Configuring a WebSite's Bindings..
Limiting WebSite Usage...
Starting and Stopping WebSites..
Adding a New Virtual Directory
Configuring Virtual Directories.
Searching Virtual Directories..
Granting Access to the Remote Content...
Creating Web Applications
Listing Web Applications..
Application Pool Considerations.
Adding a New Application Pool
Managing Application Pool Identities
Advanced Application Pool Configuration.
Monitoring Worker Processes and Requests.,
Working with Applications, Virtual Directories, and Application Pools.....
Working with WebServer Modules.....
Inspecting Running Worker Processes and Requests..
Working with Failed Request Tracing
Microsoft Web.Administration
Windows Power Shell and I IS 7.0..
WMI Provider...
I IS 7.0 Configuration COM Objects..
Summary...
Additional Resources,
Remote Administration.
The lIS Manager....
Web Management Service
Summary...
Additional Resources.
Managing WebSites...259
TableofContents
WebSites, Applications, Virtual Directories, and Application Pa ols,
Administrative Tasks
Managing Virtual Directories..
Managing Remote Content......
Summary....
Additional Resources.
Managing Applications and Application Pools..
Managing Web Applications...
Managing Application Pools...
Managing Worker Processes and Requests....
Summary...
Additional Resources.,
Hosting Application Development Frameworks...
I IS as an Application Development Platform....
Hosting ASPNET Applications......
Hosting ASP Applications...
Hosting PHP Applications.
Techniques for Enabling Application Frameworks
Summary...
Managing WebServer Modules.
Runtime WebServer Exten sib lty..
Managing Configuration and UserInterface Extensions..
Configuring Applications for Least Privilege....
Adding Support for Application Frameworks.
Supported Application Frameworks...
Understanding the Integrated and Classic ASPNET Modes.
Running Multiple Versions of ASPNET Side by Side...
Installing ASPNET...
Deploying ASPNET Applications.-.
Additional Deployment Considerations,
Installing ASP
Deploying ASP Applications...
Additional Deployment Considerations..
Deploying PHP Applications..
Additional Deployment Considerations,
Enabling New Static File Extensions to Be Served..
Deploying Frameworks Based on I IS 7.0 Native Modules.
Deploying Frameworks Based on ASPNET Handlers..
Deploying Frameworks Based on ISAPI Extensions.
Deploying Frameworks That Use Fast CGl...
Deploying Frameworks That Use CGI..
IS 7.0 Extensibility Architecture at a Glance.
Managing Extensibility
What Is a Module?..
Installing Modules...
Common Module Management Tasks.
Using I IS Manager to Install and Manage Modules...
Using I IS Manager to Create and Manage Handler Mappings..
Using App cmd to Install and Manage Modules.
Creating and Managing Handler Mappings..
Securing WebServer Modules..
Configuration Section Schema....
Declaring Configuration Sections.,
Installing New Configuration Sections..
Securing Configuration Sections...
How Administration Extensions Work.
Install ng Administration Extensions-
Securing Administration Extensions
How I IS Manager Extensions Work.
Installing I IS Manager Extensions, .
Securing I IS Manager Extensions, ,
Reducing Attack Surface Area...
Reducing the Applications Surface Area.
Use a Low Pr vile ge Application Pool ld entity...
Set NTFS Permissions to Grant Minimal Access..
Reduce Trust of ASPNET Applications.
Isolating Applications.,
IP and Domain Restrictions.
Request Filtering.....
Authorization.......
NTFS ACL-based Authorization, .111.11484
URL Authorization...485
Additional Resources, .
Extensibility in I IS 70...
Additional Resources.
Administration Stack Overview.
Managing Configuration Extensions.
Managing Administration Extensions...
Managing I IS Manager Extensions..
Summary....
Additional Resources.
Implementing Security Strategies.
Security Changes in I IS 7.0...
Implementing AccessControl
TableofContents
Summary....
Authentication,
Anonymous Authentication,
Basic Authentication..
Digest Authentication.,
Windows Authentication...
Client Certificate Mapping Authentication...
I IS Client Certificate Mapping Authentication...
UNC Authentication....
Understanding Authentication Delegation,
Configuring SSL..
Requiring SSL.
Client Certificates..
Restricting Access to Configuration..
Securing Sensitive Configuration...
Controlling Configuration Delegation,
IS Manager..
The XML-Based Logging Schema....
Centralized Logging Configuration Options...
Site Defaults Configuration Options....
Disable HTTP Logging Configuration Options
Default LogFile Location..,
Default UTF-8 Encoding...
New Status Codes....
Management Service..
W3C Centralized Logging Format.
Centralized Binary Logging Format,
Setting Up Remote Logging by Using the I IS Manager, .
Seting Up Remote Logging by Using App cmd.
Remote Logging Using the FTP 7.0Pubishing Service..
Custom Logging.....
I IS Manager......
App cmd.
Advanced App cmd Details..
Process Recycling Logging-.
ASP...
ASPNET.
I IS Events..
Installing the Failed Request Tracing Module.
Enabling and Configuring FRT....
Reading the FRT Logs..........
Integrating Tracing and ASPNET...
Taking Per farm ance into Consideration..
Applying a Methodology..
Using Tools and Utilties
Troubleshooting HTTP
I IS 6.0 Administration Tools Not Installed..
SSI Not Enabled.....
Unexpected Re cyc ing...
Crashes...
Unable to Reach WebSite..
Authentication Errors,
Slow Responses or Server Hanging...
Securing Communications with Secure Socket Layer(SSL) .
Securing Configuration..
Summary....
Additional Resources..
WhatsNew?.
LogFile Formats That Have Not Changed.,
Centralized Logging.......t*
Remote Logging....
Configuring I IS Logging...
HTTP sys Logging.
Application Logging..
Folder Compression Option..
Logging Analysis Using Log Parser.
Summary....
Additional Resources.
Tracing and Diagnosing Problems...
Troubleshooting....
Solving Common Specific Issues..
Part Iv Troubleshooting and Performance
15Logging..
xivTableofContents
16Tracing and Troubleshooting..
Summary..
Additional Resources...
Performance and Tuning....
HTTP Errors in I IS 7.0.
17
xvi
Part V
Striking a Balance Between Security and Performance,
The Impact of Constrained Resources.-
Processor.....
Memory, ;
HardDisks....
Network.
64-Bit Mode vs.32-Bit Mode...
Configuring for Performance..
Performance Monitoring...
Scala blt y.....
Summary.....
Additional Resources..
I IS 7.0HTTP Status Codes..
I IS 7.0 Error Messages..
http Errors>Configuration.
Language-Specific Custom Errors.
Custom Error Options.
I IS 7.0 Modules Listing..
Native Modules.
Managed Modules.
Modules Sequence..
I IS 7.0 Default Settings and Time-Outs/Thresholds
ASPNET..
HS...
Management..
Application Pool Defaults..
I IS 7.0 and 64-Bit Windows
Windows Server 2008x 64..
Howto Measure Overhead, ,
Authentication.,
SSL...
What Causes CPU Pressure?.
Throttling...
CPU Counters to Monitor, ,
Impact of Constraints-..
Countermeasures.
What Causes Memory Pressure?
Memory Counters to Monitor.
Impact of Constraints...
Countermeasures, .
What Causes HardDisk Pressure?.
HardDisk Counters to Monitor..
Impact of Constraints...
Countermeasures, .
What Causes Network Pressure?.
Network Counters to Monitor.
Impact of Constraints....
Countermeasures...
Application-Level Counters.
Server Level....
IS
Optimizing for the Type of Load.
Server-Side Tools..
Application..
WCAT...
Reli abi ity And Performance Monitor..
FRT....
Event Viewer.
System Center Operations Manager 2007...
During Design..
Scale Up or Out..
Sub status Codes....
A Sub statusCode Example...
Execute a URL.
Redirect the Request.
TableofContents
Appendices