Skip to content

Commit db378cd

Browse files
Merge pull request #53953 from MicrosoftDocs/main
Auto Publish – main to live - 2026-03-24 17:00 UTC
2 parents 48e27f0 + 65c5a67 commit db378cd

174 files changed

Lines changed: 2224 additions & 4047 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.openpublishing.redirection.json

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38640,6 +38640,16 @@
3864038640
"source_path": "learn-pr/iot/introduction-to-aks-edge-essentials/3-how-aks-edge-essentials-works.yml",
3864138641
"redirect_url": "/training/",
3864238642
"redirect_document_id": false
38643+
},
38644+
{
38645+
"source_path": "learn-pr/wwl-azure/describe-cost-management-azure/4-exercise-estimate-workload-costs-use-pricing-calculator.md",
38646+
"redirect_url": "https://learn.microsoft.com/training/modules/describe-cost-management-azure/",
38647+
"redirect_document_id": false
38648+
},
38649+
{
38650+
"source_path": "learn-pr/wwl-azure/describe-features-tools-azure-for-governance-compliance/5-exercise-configure-resource-lock.md",
38651+
"redirect_url": "https://learn.microsoft.com/training/modules/describe-features-tools-azure-for-governance-compliance/",
38652+
"redirect_document_id": false
3864338653
},
3864438654
{
3864538655
"source_path": "learn-pr/iot/introduction-to-aks-edge-essentials/4-when-to-use-aks-edge-essentials.yml",
@@ -65050,6 +65060,46 @@
6505065060
"source_path": "learn-pr/paths/secure-your-cloud-apps/index.yml",
6505165061
"redirect_url": "/azure/security",
6505265062
"redirect_document_id": false
65063+
},
65064+
{
65065+
"source_path": "learn-pr/azure/load-balance-web-traffic-with-application-gateway/index.yml",
65066+
"redirect_url": "/azure/application-gateway/",
65067+
"redirect_document_id": false
65068+
},
65069+
{
65070+
"source_path": "learn-pr/azure/load-balance-web-traffic-with-application-gateway/1-introduction.yml",
65071+
"redirect_url": "/azure/application-gateway/",
65072+
"redirect_document_id": false
65073+
},
65074+
{
65075+
"source_path": "learn-pr/azure/load-balance-web-traffic-with-application-gateway/2-routing-traffic-with-application-gateway.yml",
65076+
"redirect_url": "/azure/application-gateway/",
65077+
"redirect_document_id": false
65078+
},
65079+
{
65080+
"source_path": "learn-pr/azure/load-balance-web-traffic-with-application-gateway/3-exercise-create-web-sites.yml",
65081+
"redirect_url": "/azure/application-gateway/",
65082+
"redirect_document_id": false
65083+
},
65084+
{
65085+
"source_path": "learn-pr/azure/load-balance-web-traffic-with-application-gateway/4-create-configure-application-gateway.yml",
65086+
"redirect_url": "/azure/application-gateway/",
65087+
"redirect_document_id": false
65088+
},
65089+
{
65090+
"source_path": "learn-pr/azure/load-balance-web-traffic-with-application-gateway/5-exercise-create-configure-application-gateway.yml",
65091+
"redirect_url": "/azure/application-gateway/",
65092+
"redirect_document_id": false
65093+
},
65094+
{
65095+
"source_path": "learn-pr/azure/load-balance-web-traffic-with-application-gateway/6-exercise-test-application-gateway.yml",
65096+
"redirect_url": "/azure/application-gateway/",
65097+
"redirect_document_id": false
65098+
},
65099+
{
65100+
"source_path": "learn-pr/azure/load-balance-web-traffic-with-application-gateway/7-summary.yml",
65101+
"redirect_url": "/azure/application-gateway/",
65102+
"redirect_document_id": false
6505365103
}
6505465104
]
6505565105
}

learn-pr/achievements.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7895,3 +7895,8 @@ achievements:
78957895
title: Secure your cloud applications in Azure
78967896
summary: "Learn how to secure your Azure apps and associated data with encryption, certificates, and policy. This learning path can help you prepare for the [Microsoft Certified: Azure Security Engineer Associate certification](/certifications/azure-security-engineer)."
78977897
iconUrl: /training/achievements/secure-your-cloud-apps.svg
7898+
- uid: learn.load-balance-web-traffic-with-application-gateway.badge
7899+
type: badge
7900+
title: Load balance your web service traffic with Application Gateway
7901+
summary: Improve application resilience by distributing load across multiple servers and use path-based routing to direct web traffic.
7902+
iconUrl: /training/achievements/load-balance-web-traffic-with-application-gateway.svg

learn-pr/achievements/learn.load-balance-web-traffic-with-application-gateway.badge.yml

Lines changed: 0 additions & 8 deletions
This file was deleted.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.devrel.deploy-configure-internet-information-services.introduction-internet-information-windows-server
3+
title: Introduction to Internet Information Services on Windows Server
4+
metadata:
5+
title: Introduction to Internet Information Services on Windows Server
6+
description: In this unit, you'll be introduced to Internet Information Services (IIS) on Windows Server. You learn about the architecture of IIS, its components, and the benefits of using IIS as a web server for hosting websites and web applications.
7+
ms.date: 03/23/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 4
12+
content: |
13+
[!include[](includes/1-introduction-internet-information-windows-server.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.devrel.deploy-configure-internet-information-services.install-web-server-role
3+
title: Installing the Internet Information Services web server role
4+
metadata:
5+
title: Installing the Internet Information Services Web Server role
6+
description: Learn how to install the Internet Information Services (IIS) web server role on Windows Server using both the graphical user interface (GUI) and PowerShell command-line interface.
7+
ms.date: 03/23/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 5
12+
content: |
13+
[!include[](includes/2-install-web-server-role.md)]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.devrel.deploy-configure-internet-information-services.initial-configure-validate
3+
title: Initial configuration and validation
4+
metadata:
5+
title: Initial Configuration and Validation
6+
description: In this unit, you perform the initial configuration of your web server and validate that the installation was successful. You learn how to use the IIS Manager console to perform basic configuration tasks, such as creating a new website and configuring its settings.
7+
ms.date: 03/23/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 7
12+
content: |
13+
[!include[](includes/3-initial-configure-validate.md)]
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.devrel.deploy-configure-internet-information-services.knowledge-check
3+
title: Knowledge check
4+
metadata:
5+
title: Knowledge Check
6+
description: Check your knowledge.
7+
ms.date: 03/23/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 3
12+
content: |
13+
quiz:
14+
title: Check your knowledge
15+
questions:
16+
- content: Where is the content root of the Default Web Site on a new IIS installation?
17+
choices:
18+
- content: C:\wwwroot\
19+
isCorrect: false
20+
explanation: Incorrect. This path doesn't exist by default; the correct path includes the "inetpub" directory.
21+
- content: C:\inetpub\wwwroot\
22+
isCorrect: true
23+
explanation: Correct! The Default Web Site's content root is C:\inetpub\wwwroot, where the default welcome file iisstart.htm is located.
24+
- content: "%SystemDrive%\\Web\\Default Site\\"
25+
isCorrect: false
26+
explanation: Incorrect. This is not a valid default IIS path.
27+
- content: C:\Program Files\IIS\Default\
28+
isCorrect: false
29+
explanation: Incorrect. IIS doesn't store website content under Program Files.
30+
- content: Which of the following is one of the default document file names for IIS?
31+
choices:
32+
- content: Default.js
33+
isCorrect: false
34+
explanation: Incorrect. Default.js isn't in the IIS default document list.
35+
- content: index.md
36+
isCorrect: false
37+
explanation: Incorrect. index.md isn't in the IIS default document list.
38+
- content: home.aspx
39+
isCorrect: false
40+
explanation: Incorrect. home.aspx isn't in the default IIS document list.
41+
- content: iisstart.htm
42+
isCorrect: true
43+
explanation: Correct! iisstart.htm is in the IIS default document list.
44+
- content: Which firewall port must be open to allow users to access a website on HTTP, and which additional port is needed for HTTPS?
45+
choices:
46+
- content: Port 80 for HTTP, and port 443 for HTTPS
47+
isCorrect: true
48+
explanation: Correct! Port 80 is the standard HTTP port; port 443 is the standard HTTPS port. Both must be open for users to access IIS-hosted websites.
49+
- content: Port 443 for HTTP, and port 80 for HTTPS
50+
isCorrect: false
51+
explanation: Incorrect. These are reversed. Port 80 is HTTP, port 443 is HTTPS.
52+
- content: Port 25 for HTTP, and port 110 for HTTPS
53+
isCorrect: false
54+
explanation: Incorrect. Port 25 is SMTP email; port 110 is POP3 email. Neither is used for web hosting.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.devrel.deploy-configure-internet-information-services.summary
3+
title: Summary
4+
metadata:
5+
title: Summary
6+
description: Module summary and key takeaways.
7+
ms.date: 03/23/2026
8+
author: Orin-Thomas
9+
ms.author: orthomas
10+
ms.topic: unit
11+
durationInMinutes: 2
12+
content: |
13+
[!include[](includes/5-summary.md)]
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Windows Server includes IIS (Internet Information Services) version 10.0 as the built-in web server role. IIS isn't installed by default in a fresh Windows Server 2025 installation. You can add it via Server Manager or PowerShell. IIS 10 is available in all supported versions of Windows Server and Windows Client.
2+
3+
IIS uses a modular hierarchical architecture. The main architectural components are:
4+
5+
- **Web Sites**. Top-level containers that represent individual websites hosted on the server. Each site is identified by a unique combination of host name, port, and IP address and has its own folder path for content. By default, when IIS is installed, it creates a "Default Web Site", which listens on HTTP port 80 and serves content the %SystemDrive%\inetpub\wwwroot folder.
6+
- **Applications**. An application in IIS is a subset of a site that runs as a distinct unit. Applications are configured starting at a virtual directory and have their own settings or even a separate application pool. For example, under one site you might have a "/Blog" application that has its own configuration or credentials.
7+
- **Virtual Directories**. A virtual directory is a logical directory name within a site or application that maps to a physical folder on disk. This folder can be outside the site's root folder. Virtual directories let you publish content or files in IIS from different file system locations under a single site structure. They appear as normal subfolders to users.
8+
- **Application Pools**. An application pool is the worker process environment in which one or more sites/applications run. Application pools provide isolation—each pool runs in its own sandboxed worker process named w3wp.exe. This means that problems in one site won't impact other sites hosted on the same server. By default, IIS puts the "Default Web Site" into a default application pool (DefaultAppPool). You should create additional application pools to isolate different applications or sites. Key settings of app pools include the .NET CLR version for ASP.NET apps, pipeline mode, and various recycling settings for stability. Each website in IIS can be assigned to a different application pool.
9+
- **Modules**. Modules are components that handle specific request-processing tasks including authentication, compression, and URL rewriting. IIS's modular architecture means you can add or remove modules depending on the features you need.
10+
11+
These components function as follows:
12+
13+
1. When a request arrives, IIS determines which site it's for by matching the host header, port, and IP to a site binding.
14+
1. Within that site, it looks at the URL path to see if it corresponds to an application or virtual directory with distinct settings, then maps the request to a physical folder.
15+
1. The request is executed using the application pool associated with that site/application, which loads the necessary modules to handle things like authentication, authorization, serving content or executing application code, and sending the response.
16+
17+
[![A diagram showing IIS architecture functions with incoming requests.](../media/internet-information-services-architecture.png)](../media/internet-information-services-architecture.png#lightbox)
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
On a computer configured as Windows Server 2025 with Desktop Experience, you can install IIS using the Add Roles and Features Wizard:
2+
3+
1. In Server Manager's dashboard, select "Add Roles and Features." This opens the Add Roles and Features Wizard.
4+
1. In the wizard's Before you begin page, select Next. Choose "Role-based or feature-based installation," then select your server. Continue to the Server Roles step.
5+
1. In the list of roles, find and check "Web Server (IIS)". If this is the first time installing IIS, a pop-up appears to add associated features. Select "Add Features" when prompted to include IIS Management Console and other required components. After that, the "Web Server (IIS)" role should be checked.
6+
[![A screenshot showing selection of the Web Server role.](../media/server-manager-install.png)](../media/server-manager-install.png#lightbox)
7+
1. Select Next to go through features until you reach the Role Services page. This list displays subcomponents like Common HTTP Features, Security, and Performance. By default, essential services are preselected. You can optionally select additional services or add them later as required. [![A screenshot showing selection Web Server role services.](../media/server-manager-roles.png)](../media/server-manager-roles.png#lightbox)
8+
1. Complete the wizard and then select Install on the confirmation page. The installation proceeds and when it completes, you'll see an "Installation succeeded" message.
9+
10+
> [!NOTE]
11+
> By default, installing IIS through the wizard enables the Default Web Site on port 80. If you want to quickly verify that IIS works, you can open a web browser on the server and navigate to http://localhost. You should be greeted by the IIS welcome page, indicating the web server is running.
12+
13+
## PowerShell installation
14+
15+
To install IIS via PowerShell in Windows Server, use the Install-WindowsFeature cmdlet from an elevated command prompt:
16+
17+
```powershell
18+
Install-WindowsFeature Web-Server -IncludeManagementTools
19+
```
20+
21+
You can install specific IIS subcomponents by name using PowerShell. For example, to install IIS with some common features, you might specify component names like Web-WebSockets or Web-Dyn-Compression. You can see the available web server features by running the command:
22+
23+
```powershell
24+
Get-WindowsFeature -Name Web*
25+
```
26+
27+
You can determine which IIS features are installed by running the command:
28+
29+
```powershell
30+
Get-WindowsFeature -Name Web* | Where Installed
31+
```
32+
33+
## IIS on Server Core
34+
35+
Server Core is the minimal, GUI-less installation option for Windows Server. The Server Core installation option is appropriate for workloads like IIS as the minimal number of components reduces the server's attack surface. You can deploy IIS on Server Core, but you can't use the local IIS Manager application. You can install IIS on Server Core using PowerShell using Install-WindowsFeature or remotely using Server Manager.
36+
37+
To enable remote management, you need to install the Web Management Service (WMSVC). You can do this by running the following command:
38+
39+
```powershell
40+
Install-WindowsFeature -Name Web-Mgmt-Service
41+
```
42+
43+
You enable remote management by configuring the registry. You can do this with the following command:
44+
45+
```powershell
46+
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\WebManagement\Server -Name EnableRemoteManagement -Value 1
47+
```
48+
49+
You can then configure the service to start automatically by running the command:
50+
51+
```powershell
52+
Set-Service -Name WMSVC -StartupType Automatic
53+
```
54+
55+
You have to allow inbound management traffic to the service. You can do this using the following command, restricting incoming management traffic to a designated management subnet (here it's 192.168.15.0/24):
56+
57+
```powershell
58+
New-NetFirewallRule -DisplayName "IIS Remote Management" -Direction Inbound -Action Allow -Service WMSVC -RemoteAddress 192.168.15.0/24
59+
```
60+
61+
Once WMSVC is running and listening, you can open IIS Manager on a different Windows machine and use the "Connect to a Server" option and enter the hostname (or IP) of your Server Core machine. You'll typically authenticate with an account that has local administrator privileges on the server hosting IIS.

0 commit comments

Comments
 (0)