Oamc

IIS 建站与绑定 · 修改记录

这是 windows/iis-site.md 的每次改动内容,按时间从新到旧。其他文章一起提交的部分不会出现在这里。

#1 2026-10-18 +59 −0 docs: 新增 23 篇网络/ Linux / Windows / 服务器文章 be5956e
 new file mode 100644
 @@ -0,0 +1,59 @@
+---
+tags: [IIS, 站点, Windows Server]
+order: 60
+---
+
+# IIS 建站与绑定
+
+## 场景
+
+Windows 服务器上要挂一个内部站点,或者给某个应用做反向代理。
+
+## 前置条件
+
+- 服务器有固定 IP
+- 防火墙放行 80/443
+- 站点文件放好,知道应用程序池要用的账号
+
+## 配置
+
+```powershell
+# 1. 安装
+Install-WindowsFeature -Name Web-Server, Web-Asp-Net45, Web-Mgmt-Console -IncludeManagementTools
+
+# 2. 建目录和站点
+New-Item -ItemType Directory -Path C:\sites\kb -Force
+New-WebAppPool -Name "kb-pool"
+Set-ItemProperty IIS:\AppPools\kb-pool -Name managedRuntimeVersion -Value ""
+New-Website -Name "kb" -PhysicalPath C:\sites\kb -Port 80 `
+  -HostHeader kb.corp.local -ApplicationPool "kb-pool"
+
+# 3. 防火墙
+New-NetFirewallRule -DisplayName "HTTP-80" -Direction Inbound -Protocol TCP `
+  -LocalPort 80 -Action Allow
+```
+
+## 验证
+
+```powershell
+Get-Website
+Get-WebBinding -Name "kb"
+Invoke-WebRequest http://kb.corp.local -UseBasicParsing | Select-Object StatusCode
+Get-ChildItem C:\inetpub\logs\LogFiles\W3SVC1\ | Sort-Object LastWriteTime -Descending | Select-Object -First 3
+```
+
+## 回滚
+
+```powershell
+Remove-Website -Name "kb"
+Remove-WebAppPool -Name "kb-pool"
+```
+
+## 坑
+
+- **应用程序池账号没有目录读权限**,站点起不来只报 401.3 或 500.19。
+- 绑定里填了主机名,用 IP 访问就会 404,需要再加一条绑定或改用 IP。
+- 80 端口被别的站点占着,`New-Website` 会提示端口冲突。
+- 默认文档没配,访问目录会 403。
+- 32 位应用要在应用程序池里开 `Enable 32-Bit Applications`。
+- 日志在 `C:\inetpub\logs`,别在系统盘写满前才发现。