Oamc

IIS 建站与绑定 · 修改记录

这是 windows/IIS 建站与绑定.md 的改动记录。后台每次保存都会留一份快照, 这里显示的是快照之间的差异,不会混入其他文章的改动。

还没有后台修改记录。

Git 提交记录

下面是 Git 里的提交,可能包含其他文章的改动(因为一次提交会带上工作区所有变化)。

#1 2026-10-25 +0 −0 refactor: 全部文章文件名中文化 0aa8fe6

这次没有正文改动。

#2 2026-10-18 +59 −0 docs: 新增 23 篇网络/ Linux / Windows / 服务器文章 be5956e
 @@ -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`,别在系统盘写满前才发现。