Skip to content

Commit 13acae9

Browse files
committed
Minor corrections
1 parent d0e0875 commit 13acae9

4 files changed

Lines changed: 13 additions & 15 deletions

File tree

learn-pr/advocates/configure-manage-website-application/includes/1-website-application-virtual-directory.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ To add a new site in IIS manager:
4242
1. Leave Start Website immediately checked unless you want to configure the site before it begins serving requests.
4343
1. Select OK.
4444

45-
You can create a site with the `New-Website` cmdlet, which will be installed with the web server role management tools. For example, to create a site named Contoso with the path D:\contoso on port 80 that uses the fully qualified domain name www.contoso.com and has a new application pool named Contoso, run the command:
45+
You can create a site with the `New-Website` cmdlet, which will be installed with the web server role management tools. For example, to create a site named Contoso with the path `D:\contoso` on port 80 that uses the fully qualified domain name www.contoso.com and has a new application pool named Contoso, run the command:
4646

4747
```powershell
4848
New-Website -Name "Contoso" `
@@ -62,14 +62,14 @@ Get-Website -Name "Contoso"
6262

6363
When creating a website, configure the directory that hosts the content directory and ensure appropriate NTFS permissions are set. Remember that NTFS permissions are often inherited. Best practice is to use a separate volume for website content rather than storing it on the system volume. Using a separate volume for the website allows you to separate the content from operating system files, it also makes it simpler to back up and restore. You might repartition free space on your existing volume to implement this configuration.
6464

65-
The worker process runs under the application pool identity. For example, a pool named Contoso runs as IIS AppPool\Contoso. Application pool identities are:
65+
The worker process runs under the application pool identity. For example, a pool named Contoso runs as `IIS AppPool\Contoso`. Application pool identities are:
6666

6767
- Local only
6868
- Noninteractive
6969
- Automatically managed
7070
- Not usable for logon
7171

72-
You should grant the application pool identity Read and Execute access to the content folder:
72+
You should grant the application pool identity `Read and Execute` access to the content folder:
7373

7474
```powershell
7575
$acl = Get-Acl "D:\contoso"
@@ -86,7 +86,7 @@ Granting permissions directly to that identity ensures:
8686
- Other application pools on the same server can't read or execute the content
8787
- You avoid using broad identities like Everyone, Users, or IIS_IUSRS
8888

89-
Granting Read and Execute adheres to the principle of least privilege as IIS only needs read access to serve static content and load assemblies, and execute is require for binaries such as ASP.NET and native modules. You shouldn't assign the Write privilege as this will limit attacks such as:
89+
Granting `Read and Execute` adheres to the principle of least privilege as IIS only needs read access to serve static content and load assemblies, and execute is require for binaries such as ASP.NET and native modules. You shouldn't assign the Write privilege as this will limit attacks such as:
9090

9191
- Web shell uploads
9292
- Defacement attacks

learn-pr/advocates/configure-manage-website-application/includes/2-application-pool-worker-process.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,9 @@ To configure a custom identity in IIS Manager, perform the following steps:
121121
1. Select the application pool, then select Advanced Settings in the Actions pane.
122122
1. Under Process Model, select the Identity field, then select the ellipsis (...) button.
123123
1. In the Application Pool Identity dialog, select Custom account and select Set.
124-
1. Enter the domain account credentials (for example, CONTOSO\svc-webapp), then select OK.
124+
1. Enter the domain account credentials (for example, `CONTOSO\svc-webapp`), then select OK.
125125

126-
You use the `Set-ItemProperty` cmdlet to configure a Custom Identity with PowerShell. For example, to set the identity to contoso\svc-webapp, run the following command:
126+
You use the `Set-ItemProperty` cmdlet to configure a Custom Identity with PowerShell. For example, to set the identity to `CONTOSO\svc-webapp`, run the following command:
127127

128128
```powershell
129129
$poolName = "Contoso-AppPool"
@@ -141,7 +141,7 @@ Set-ItemProperty "IIS:\AppPools\$poolName" processModel.identityType 3
141141
142142
## Managing application pool state
143143

144-
You can use the WebAppPool PowerShell cmdlets to manage application pool states.
144+
You can use the WebAppPool PowerShell cmdlets to manage application pool states.
145145

146146
```powershell
147147
Stop-WebAppPool -Name "Contoso-AppPool" # Stop

learn-pr/advocates/configure-manage-website-application/includes/3-binding-host-header.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ IIS uses a combination of IP address, TCP port, and host name (host header) to r
44

55
When a request arrives at the server, IIS evaluates three binding components in order:
66

7-
1. IP address: Does this request target an IP address assigned to this site? An asterisk (\*) means any unassigned IP.
8-
1. Port: Does the request arrive on the port configured for this site?
9-
1. Host name (host header): Does the HTTP Host header value in the request match the host name configured for this binding?
7+
1. **IP address:** Does this request target an IP address assigned to this site? An asterisk (\*) means any unassigned IP.
8+
1. **Port:** Does the request arrive on the port configured for this site?
9+
1. **Host name (host header):** Does the HTTP Host header value in the request match the host name configured for this binding?
1010

1111
A binding is the combination of these three values. Each site must have at least one binding. Bindings must be unique across all sites, IIS can't start two sites that share the same IP, port, and host name.
1212

@@ -16,7 +16,7 @@ The table lists strategies for handing bindings:
1616
|---|---|---|
1717
| **Unique ports** | Each site listens on a different port (for example, 80, 8080, 8081) | Development and testing environments |
1818
| **Multiple IP addresses** | Each site is bound to a different IP on the server's NIC | Older hosting configurations |
19-
| **Host headers (recommended)** | All sites share IP and port; DNS differentiates them via the Host header | Production: www.site1.com and www.site2.com on port 80/443 |
19+
| **Host headers (recommended)** | All sites share IP and port; DNS differentiates them via the Host header | Production: `www.site1.com` and `www.site2.com` on port 80/443 |
2020

2121
> [!TIP]
2222
> Host headers are the standard approach in production because they don't require additional IP addresses or nonstandard ports. Ensure DNS A records are properly configured for each host name before starting sites.
@@ -30,7 +30,7 @@ To add and edit site bindings in IIS Manager, perform the following steps:
3030
- Type: Select http or https.
3131
- IP address: Select All Unassigned or a specific IP.
3232
- Port: Enter 80 (for HTTP) or 443 (for HTTPS).
33-
- Host name: Enter the FQDN, for example www.contoso.com. Required when sharing a port with other sites.
33+
- Host name: Enter the FQDN, for example `www.contoso.com`. Required when sharing a port with other sites.
3434
- For HTTPS bindings: select the certificate from the drop-down.
3535
1. Select OK, then Close.
3636

@@ -87,8 +87,6 @@ New-WebBinding -Name "Contoso2" `
8787
-SslFlags 1
8888
```
8989

90-
Here's a drop-in section you can use to address HTTP Strict Transport Security (HSTS), along with guidance on where to place it in the existing document:
91-
9290
## Enforcing HTTPS with HTTP Strict Transport Security (HSTS)
9391

9492
To further enhance the security of HTTPS-enabled websites, IIS 10 on Windows Server 2019 and later supports native configuration of HTTP Strict Transport Security (HSTS). HSTS instructs browsers to always use HTTPS when connecting to your site, even if a user attempts to access it via HTTP. This helps prevent protocol downgrade attacks and ensures encrypted communication for all future requests.

learn-pr/advocates/configure-manage-website-application/includes/4-advanced-site-configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Beyond basic site creation and bindings, IIS provides a rich set of per-site and
22

33
## Custom Error Pages
44

5-
By default, IIS returns a generic HTTP error page when a client encounters a 4xx or 5xx status code. Customizing error pages improves the user experience and prevents accidental disclosure of internal diagnostic details.
5+
By default, IIS returns a generic HTTP error page when a client encounters a `4xx` or `5xx` status code. Customizing error pages improves the user experience and prevents accidental disclosure of internal diagnostic details.
66

77
IIS supports two types of error responses:
88

0 commit comments

Comments
 (0)