在Windows服务器环境中,IIS(Internet Information Services)作为微软官方提供的Web服务器角色,广泛应用于网站托管、应用程序部署等场景,以下是详细的IIS站点搭建指南,涵盖环境准备、安装配置、站点创建及安全优化等关键步骤。

环境准备
- 系统要求:建议使用Windows Server 2016及以上版本,或Windows 10/11专业版/企业版,确保系统已更新至最新补丁,避免兼容性问题。
- 管理员权限:操作需以管理员身份进行,可通过右键点击命令提示符或PowerShell选择“以管理员身份运行”。
- 网络配置:确保服务器拥有静态IP地址(避免因DHCP导致IP变动),并在防火墙中允许HTTP(80端口)和HTTPS(443端口)流量,可通过Windows防火墙“高级设置”创建入站规则,协议选择TCP,本地端口填入80和443。
安装IIS角色
-
通过服务器管理器安装:
- 打开“服务器管理器”,点击“添加角色和功能”。
- 向导中依次选择“基于角色或功能的安装”→选择目标服务器→勾选“Web服务器(IIS)”角色。
- 在“角色服务”页面,默认已勾选基础HTTP功能,建议根据需求添加以下服务:
- 应用程序开发:若需运行ASP.NET,勾选“.NET Framework 4.8扩展”和“ASP.NET”。
- 健康诊断:勾选“请求监控”便于排查问题。
- 安全性:勾选“请求筛选”防止恶意请求。
- 确认安装路径(默认为
C:\inetpub
),点击“安装”等待完成。
-
通过PowerShell安装(推荐批量操作):
Install-WindowsFeature -Name Web-Server, Web-Asp-Net45, Web-Http-Redirect -Verbose
安装后可通过
Get-WindowsFeature -Name Web* | Where-Object {$_.Installed}
查看已安装组件。
创建网站
-
添加网站:
(图片来源网络,侵删)- 打开“IIS管理器”(可在服务器管理器“工具”菜单中找到),在左侧“连接”面板右键点击“站点”→“添加网站”。
- 填写网站基本信息:
- 站点名称:自定义(如“CompanyWeb”)。
- 物理路径:网站文件存放目录(如
D:\WebSite\Company
),需提前创建并放置默认文档(如index.html
)。 - 绑定:点击“添加”配置协议、IP地址和端口:
- HTTP协议:默认端口80,IP地址选“全部未分配”(或指定服务器IP)。
- HTTPS协议:需先配置SSL证书(可使用IIS生成的自签名证书测试)。
- 网站ID:默认自动生成,无需修改。
-
配置应用程序池:
- 网站默认使用“DefaultAppPool”,建议为高安全性或特殊需求站点新建应用程序池:
- 右键点击“应用程序池”→“添加应用程序池”,设置名称(如“CompanyAppPool”).NET版本选择“无托管代码”(若为静态网站)或“4.0”(若为ASP.NET)。
- 在网站“高级设置”中,将“应用程序池”更改为新建的池。
- 网站默认使用“DefaultAppPool”,建议为高安全性或特殊需求站点新建应用程序池:
配置与优化
-
默认文档与目录浏览:
- 双击“默认文档”模块,添加或调整优先级(如
index.html
、default.aspx
),确保访问根路径时自动返回首页。 - 禁用“目录浏览”(避免暴露文件结构),在右侧操作栏点击“禁用”。
- 双击“默认文档”模块,添加或调整优先级(如
-
权限设置:
- 右键点击物理路径→“属性”→“安全”→“编辑”,添加“IIS_IUSRS”用户组,赋予“读取和执行”权限。
- 若需写入权限(如上传文件),额外添加“修改”权限,但需注意安全风险。
-
URL重写与压缩:
(图片来源网络,侵删)- 安装URL重写模块(下载Microsoft URL Rewrite Module),配置规则实现伪静态(如将
/product/123
重写为/product.aspx?id=123
)。 - 启用动态内容压缩:双击“HTTP响应压缩”,勾选“启用动态内容压缩”,并设置MIME类型(如
text/html
、application/json
)。
- 安装URL重写模块(下载Microsoft URL Rewrite Module),配置规则实现伪静态(如将
安全加固
-
配置SSL证书:
- 在网站绑定中添加HTTPS,选择“证书”→“导入”,上传已购买的证书或使用IIS管理器创建的自签名证书(仅测试环境使用)。
- 强制HTTPS访问:在URL重写模块中添加规则,类型为“空白”,匹配URL模式为,条件输入
{HTTPS} off
,操作类型为“重定向”,重定向URL为https://{HTTP_HOST}/{R:1}
。
-
限制IP访问:
- 双击“IP地址和域名限制”,点击“添加允许条目”,输入特定IP地址或IP段(如
168.1.0/24
),防止未授权访问。
- 双击“IP地址和域名限制”,点击“添加允许条目”,输入特定IP地址或IP段(如
测试与维护
- 访问测试:在浏览器中输入
http://服务器IP
,确认网站正常显示,若无法访问,检查防火墙规则、应用程序池状态(确保为“启动”)及文件权限。 - 日志管理:默认日志存放在
C:\inetpub\logs\LogFiles
,可通过IIS管理器“日志”模块调整路径和保留期限,便于故障排查。
相关问答FAQs
Q1: 如何解决IIS站点提示“HTTP 错误 403.14 - Forbidden”问题?
A: 该错误通常由默认文档缺失或目录浏览未启用导致,解决方法:
- 检查“默认文档”模块中是否包含网站首页文件(如
index.html
),并调整优先级至首位。 - 若为API或无首页的静态资源站点,可启用“目录浏览”(测试环境),或自定义错误页面。
- 确认物理路径权限中“IIS_IUSRS”用户组有“读取”权限。
Q2: 如何配置IIS支持ASP.NET Core应用程序?
A: ASP.NET Core应用需通过.NET Core Hosting Bundle安装运行时,并配置反向代理:
- 下载并安装.NET Core Hosting Bundle(匹配应用SDK版本)。
- 在IIS中创建网站,物理路径指向发布后的
publish
文件夹。 - 添加ASP.NET Core模块:在“模块”管理中点击“配置模块”,添加
AspNetCoreModuleV2
,并设置参数arguments
为.\YourApp.dll
,stdoutLogEnabled
为true
(用于日志记录)。 - 配置应用程序池为“无托管代码”,确保端口与Kestrel服务器一致(通常为5000/5001)。