# Windows Server 2025 安装 IIS：不要把所有角色服务都装上

> 用最小角色服务安装 IIS，验证 W3SVC、默认绑定和防火墙；避免默认站点与“全装”带来的后续问题。

**测试环境**

- 版本号: 26100.33650
- 版本: Standard / Datacenter
- 架构: x64
- 证据: E1
- 核验日期: 2026-10-29
- 测试机: IIS Manager UI 参考：VM 361 Windows 11 26H2（IIS 10）；Server 2025 角色选择为 E1

IIS Manager UI 参考图，来自 VM 361（Windows 11 26H2）。Server 2025 角色选择按 E1 文档记录，不冒充已复现。点击查看原图。

## 一句话结论

Windows Server 2025 上：

1. **服务器管理器 → 添加角色和功能 → Web 服务器（IIS）**。
2. 只装今天需要的角色服务。
3. 验证 `W3SVC`、默认绑定和 `http://localhost`。
4. 对外前删掉或替换默认页。
5. 防火墙只对需要的网络开放。

错误做法是“向导里有什么就全装”。每个多装的模块都是补丁面和没审过的配置。

## Desktop Experience 还是 Core？

| 选择 | IIS 管理器（GUI） | 管理方式 |
|---|---|---|
| Desktop Experience | 有 | 本地 IIS 管理器或远程 |
| Server Core | 无本地控制台 | 远程 IIS 管理器、`appcmd`、PowerShell、WAC |

Core 照样提供站点；只是远程管理。不要为了点“站点”去装桌面 shell。

## 最小角色服务

静态站点 + 日志 + 请求过滤：

- Web Server
- Common HTTP Features → Static Content、Default Document、HTTP Errors
- Health and Diagnostics → HTTP Logging
- Security → Request Filtering
- Management Tools → IIS Management Console（仅 Desktop）

PHP 再加 **FastCGI**，.NET 再加 **ASP.NET Core Hosting Bundle/ANCM**，需要再反代才加 **URL Rewrite/ARR**。默认不要加 FTP、WebDAV、IIS 6 兼容。

## 用 PowerShell 安装

Server 2025（管理员）：

```powershell
Install-WindowsFeature Web-Server -IncludeManagementTools
Get-WindowsFeature Web-Server,Web-Mgmt-Console,Web-Filtering,Web-Http-Logging
Get-Service W3SVC
```

Core 最小安装可显式列角色服务：

```powershell
Install-WindowsFeature Web-Server,Web-Static-Content,Web-Default-Doc,Web-Http-Errors,Web-Http-Logging,Web-Filtering
```

Windows 客户端用 `Enable-WindowsOptionalFeature`；不要把这条命令抄到 Server 2025。实验室 UI 是在 Windows 11 上拍的，但 Server 用上面的 cmdlet。

## 加应用之前先验证

```powershell
Get-Service W3SVC
Invoke-WebRequest http://localhost/ -UseBasicParsing | Select-Object StatusCode
netsh http show servicestate | Select-String ":80"
```

`localhost` 失败时查：

- `W3SVC` 在跑吗？
- Default Web Site 启动了吗？
- 80 端口被别的进程占了吗？
- 防火墙只挡远程客户端，还是连本机也挡？

## 第一次加固

- 删除 `iisstart.htm`，换成有意的页面。
- 给站点建独立应用池，不要留在 `DefaultAppPool`。
- 不需要就不开目录浏览。
- 删除不用的模块/处理器。
- 设日志目录和保留策略。
- 只绑需要的主机名/IP。

> **警告: 不要把默认站点暴露出去**
>
> IIS 欢迎页等于告诉世界“这台机器刚装好”。DNS 指过来之前就替换它，也不要为了测试开目录浏览。

## 实验室说明

截图来自 VM 361（Windows 11 26H2，IIS 10）。角色服务名称和 `Install-WindowsFeature` 路径是 Server 2025 文档（E1）。Server 2025 VM 就绪后会补 E2；在那之前 UI 是参考图，不是 Server 2025 复现声明。

## 来源

- [Microsoft Learn — 安装角色、角色服务或功能](https://learn.microsoft.com/zh-cn/windows-server/administration/server-manager/install-or-uninstall-roles-role-services-or-features)
- [Microsoft Learn — IIS Web 服务器概述](https://learn.microsoft.com/zh-cn/iis/get-started/introduction-to-iis/iis-web-server-overview)
- [Microsoft Learn — IIS 应用程序池身份](https://learn.microsoft.com/zh-cn/iis/manage/configuring-security/application-pool-identities)

---

来源页面: https://winbook.fyi/zh/server/web/iis-install/
