Book Image

Microsoft IIS 10.0 Cookbook

By : Ashraf Khan
5 (1)
Book Image

Microsoft IIS 10.0 Cookbook

5 (1)
By: Ashraf Khan

Overview of this book

This book will start with customizing your IIS 10 to various platforms/OS and tune it according to your business requirements. Moving on, we will focus on the functionalities of core fundamentals and perform practical scenarios in order to maximize the use of a reliable web server. Going further we will be covering topics like IIS 10 architecture, IIS modules,hosting web server platforms, virtual directories along with web site deployment, ports, enhanced security. We will also cover new features of IIS 10 like integration with Windows Server 2016 and Nano Server, HTTP/2, PowerShell 5 cmdlets etc . Towards the end, we will cover troubleshooting & diagnostic techniques of IIS 10. By the end of this book you will be well versed with maximizing the reliability of your webserver and will have immense knowledge in using IIS 10 effectively
Table of Contents (14 chapters)

IIS 10.0 architecture

We need to understand what resources are available to your IIS application; how it handles content files of different types, such as static files, ASP files, or ISAPI files; and how it groups content files into applications. An introduction to the client/server relationship is included for first-time readers unfamiliar with web servers.

IIS 7 and later provide a request-processing architecture. We get the following additional benefits of request processing, since the default configuration monitors each request and validates implemented security rules:

  • The Windows Process Activation Service (WAS), which enables sites to use protocols other than HTTP and HTTPS
  • A web server engine that can be customized by adding or removing modules
  • Integrated request-processing pipelines from IIS and ASP.NET

Getting ready

We require an up-and-running IIS 10.0 instance. Security components should be installed. You should have administrative privileges.

How to do it...

Now, we are going to review the components and modules.

  1. Start Server Manager on Windows Server 2016, which already should have IIS 10.0 installed on it.
  2. Go to the Tools menu at the top.
  3. You will be able to see Internet Information Service Manager (IIS).

  1. Click on IIS Server, which is to the left-hand side of the IIS Manager window, as shown here:
  1. In the Server Manager panel, you will see the list of default components installed. You can configure them as per your requirements. For example, you can configure security and management options.
  2. Let's understand where the modules are. In the previous figure, you will see the icon called Modules, which will open the default configuration at this stage.

  1. Double-click on Modules, and you will get the list of modules available in IIS 10.0:
  1. All the modules are by default configured to native mode. We can reconfigure them as per our application requirements.

How it works...

The combination of components and modules helps us implement application request processes and security settings quickly.

Introducing the IIS 10.0 architecture's components and modules

Let's discuss the components and modules available in IIS 10.0 Server in detail.

Overview of an HTTP request

Let's observe HTTP requests of IIS 10.0 IIS 7 and later versions have an HTTP request-processing flow similar to that of IIS 6.0 and below.

  1. When a client browser initiates an HTTP request for a resource on the web server, HTTP.sys intercepts the request.
  2. HTTP.sys contacts Windows Activation Service (WAS) to obtain information from the configuration store.
  3. WAS requests configuration information from the configuration store, applicationHost.config.
  4. The World Wide Web Publishing Service (WWW Service) receives configuration information, such as application pool and site configuration.
  5. The WWW Service uses the configuration information to configure HTTP.sys.
  6. WAS starts a worker process for the application pool to which the request was made.
  7. The Worker Process processes the request and returns a response to HTTP.sys.
  8. The client receives a response.
https://media-www-iis.azureedge.net/media/7188132/introduction-to-iis-architecture-101-overviewofhttprequest.png

Details of an HTTP request inside the worker process

In a worker process, an HTTP request passes through several ordered steps, called events, in the Web Server Core. At each event, a native module processes part of the request, such as authenticating the user or adding information to the event log. If a request requires a managed module, the native Managed Engine module creates an AppDomain, where the managed module can perform the necessary processing, such as authenticating a user with Forms Authentication. When the request passes through all of the events in the Web Server Core, the response is returned to HTTP.sys. The following figure shows an HTTP request entering the Worker Process:

https://media-www-iis.azureedge.net/media/7188126/introduction-to-iis-architecture-101-httprequestworkerproc.png