IIS(Internet Information Services)是微软开发的用于 Windows 服务器的 Web 服务器软件,设置 IIS 通常涉及安装、配置网站、管理应用程序池、设置权限以及配置 HTTPS 等步骤。
以下是 IIS 设置的完整指南,涵盖从基础配置到高级优化的关键步骤:
安装 IIS
如果尚未安装 IIS,请按照以下步骤启用它:
- 打开 控制面板 > 程序和功能 > 启用或关闭 Windows 功能。
- 找到 Internet Information Services 并展开。
- 勾选以下关键组件:
- World Wide Web 服务
- 应用程序开发功能:根据需求勾选(如 ASP.NET、.NET 扩展性、ISAPI 扩展/过滤器等)。
- 常见 HTTP 功能:确保勾选“静态内容”、“默认文档”、“目录浏览”、“HTTP 错误”等。
- 管理工具:勾选“IIS 管理控制台”。
- World Wide Web 服务
- 点击 确定,等待安装完成。
创建和管理网站
添加新网站
- 打开 IIS 管理器(搜索
inetmgr)。 - 在左侧连接面板中,右键点击 网站 > 添加网站。
- 填写以下信息:
- 站点名称:自定义名称(如
MyWebsite)。 - 物理路径:网站文件所在的文件夹路径。
- 绑定:
- 类型:
http或https - IP 地址:可选(默认全部未分配)
- 端口:默认
80(HTTP)或443(HTTPS) - 主机名:可选(如
www.example.com)
- 类型:
- 站点名称:自定义名称(如
删除或停止网站
- 右键点击网站 > 停止 或 删除。
配置应用程序池(Application Pool)
应用程序池隔离不同网站,提高稳定性和安全性。
- 在 IIS 管理器中,点击左侧的 应用程序池。
- 右键点击对应网站的应用程序池 > 高级设置。
- 关键配置项:
- 托管管道模式:
集成:推荐用于现代 ASP.NET 应用。经典:用于兼容旧版 ASP 或特定 ISAPI 扩展。
- .NET CLR 版本:选择匹配的 .NET 版本(如 v4.0)。
- 标识:设置运行身份(如
ApplicationPoolIdentity更安全)。 - 回收:可设置定期回收时间(如每天凌晨 2 点)以释放内存。
- 托管管道模式:
配置静态/动态内容处理
- 点击网站 > MIME 类型。
- 确保常见类型已存在(如
.html,.css,.js,.png)。 - 如需添加新类型(如
.webp),点击 添加:- 文件扩展名:
.webp - MIME 类型:
image/webp
- 文件扩展名:
启用 ASP.NET 或 PHP
- ASP.NET:通过“启用或关闭 Windows 功能”安装对应版本。
- PHP:需安装 FastCGI 模块,并在 IIS 中配置处理程序映射。
设置 HTTPS(SSL 证书)
导入证书
- 打开 MMC 控制台(运行
mmc)。 - 添加 证书 管理单元(计算机账户 > 本地计算机)。
- 导入
.pfx或.cer证书到 个人 或 Web 托管 存储。
绑定 HTTPS
- 在 IIS 管理器中,右键网站 > 编辑绑定。
- 添加新绑定:
- 类型:
https - 端口:
443 - SSL 证书:选择已导入的证书。
- 类型:
- 点击 确定。
强制 HTTPS(可选)
- 安装 URL Rewrite 模块。
- 在网站中添加
web.config规则,将所有 HTTP 请求重定向到 HTTPS。
设置目录权限
确保 IIS 用户有权访问网站文件夹:
- 右键网站物理路径文件夹 > 属性 > 安全。
- 点击 编辑 > 添加。
- 添加用户:
IIS_IUSRS(IIS 7+ 默认用户组)- 或特定应用程序池标识(如
IIS AppPoolMyAppPool)
- 授予 读取 和 运行 权限。
- 如需上传文件,还需授予 写入 权限。
配置默认文档
- 点击网站 > 默认文档。
- 确保
index.html,default.aspx,home.php等按优先级排列。 - 可添加自定义默认页(如
index.php)。
日志记录
- 点击网站 > 日志。
- 勾选 启用日志记录。
- 设置格式(W3C)、频率(每日/每小时)和存储路径。
- 日志位置默认在:
%SystemDrive%inetpublogsLogFiles
安全最佳实践
-
禁用目录浏览
:除非必要,否则关闭“目录浏览”功能,防止文件泄露。 - 请求筛选:限制文件大小、URL 长度、文件扩展名(如禁止执行
.exe)。 - IP 限制:在“IP 地址和域限制”中,阻止恶意 IP 或仅允许特定 IP 访问管理页面。
- 隐藏版本信息:在
web.config中移除X-Powered-By头。
常见问题排查
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 403 Forbidden | 权限不足 | 检查文件夹安全权限,确保 IIS_IUSRS 有读取权限。 |
| 404 Not Found | 路径错误或模块未安装 | 检查物理路径是否正确,确认所需模块(如 ASP.NET)已安装。 |
| 500 Internal Server Error | 代码错误或配置错误 | 查看事件查看器(Event Viewer)中的错误日志,或启用详细错误信息。 |
| 端口冲突 | 其他服务占用 80/443 | 使用 netstat -ano | findstr :80 查找占用进程,更改 IIS 端口或停止冲突服务。 |
附录:常用命令行工具
- 重启 IIS:
iisreset
- 查看 IIS 状态:
iisreset /status
- 创建网站(命令行):
appcmd add site /name:"MySite" /id:1 /bindings:http/:80: /physicalPath:"C:WebsitesMySite"
如需针对特定场景(如 .NET Core、PHP、反向代理)的详细配置,请提供更多信息!
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/482043.html



