IIS(Internet Information Services)是微软开发的一款Web服务器,广泛应用于Windows Server操作系统和部分Windows客户端版本,它支持HTTP、HTTPS、FTP、SMTP等多种协议,能够满足网站托管、应用程序部署等需求,以下是关于IIS Web服务器配置的详细说明,包括安装、站点创建、性能优化及安全设置等内容。
IIS的安装与组件启用
在Windows Server中,IIS可通过“服务器管理器”的“添加角色和功能”进行安装,安装过程中,可根据需求选择组件,如“Web服务器(IIS)”“应用程序开发”“安全性”等,常见组件包括:
- HTTP:提供基本的Web服务功能。
- ASP.NET:支持.NET Framework应用程序。
- URL重写:实现URL美化与伪静态。
- 请求筛选:防止恶意请求攻击。
- FTP服务:用于文件传输。
在Windows 10/11中,可通过“控制面板”-“程序”-“启用或关闭Windows功能”勾选“Internet Information Services”进行安装,安装完成后,可通过“管理工具”中的“IIS管理器”进行配置。
网站的基本配置
创建网站
在IIS管理器中,右键点击“站点”,选择“添加网站”,填写以下信息:
- 网站名称:标识网站的名称,如“Company Website”。
- 物理路径:网站文件存放的本地路径,如
C:\inetpub\wwwroot\company。 - 端口:默认为80(HTTP)或443(HTTPS),若与其他端口冲突需修改。
- 主机名:绑定域名,如
www.example.com,若为本地测试可留空。
绑定域名与IP
在“网站”-“绑定”中,可添加多个绑定,支持不同域名、端口或IP地址。 | 绑定类型 | IP地址 | 端口 | 主机名 | |----------|--------|------|--------| | HTTP | | 80 | www.example.com | | HTTPS | | 443 | www.example.com |
配置默认文档
默认文档是用户访问网站时自动打开的文件,如index.html、default.aspx,在“默认文档”模块中,可添加或删除默认文件顺序,优先级高的文件会被优先加载。
应用程序池的优化
应用程序池是IIS中隔离和管理Web应用程序的重要机制,每个站点可独立分配应用程序池,避免相互影响,优化建议:
- .NET版本:根据应用程序框架选择,如.NET Framework 4.0或.NET 6.0(需安装对应运行时)。
- 托管模式:选择“集成模式”以支持更现代的请求处理管道。
- 回收条件:设置定时回收或内存限制,避免内存泄漏导致服务器崩溃。
- 固定时间间隔:1740分钟(29小时)。
- 专用内存限制:500 MB(根据服务器内存调整)。
- 进程模型:调整“最大工作进程数”,默认为1,高流量网站可设置为多进程以提高并发性能。
目录权限与安全设置
文件系统权限
网站目录的NTFS权限需严格限制:
- IIS_IUSRS(或IIS用户组):读取、执行权限。
- Administrators:完全控制。
- Users:默认拒绝,避免匿名写入。
IIS安全配置
- 匿名身份验证:默认启用,允许匿名访问,若需身份验证,可禁用并启用“基本身份验证”或“Windows身份验证”。
- IP地址限制:在“IP地址和域名限制”中,可配置允许或拒绝特定IP访问,防止恶意爬虫或攻击。
- HTTPS配置:需安装SSL证书(如自签名证书或权威机构颁发的证书),并在站点绑定中配置HTTPS,启用“HSTS”可增强安全性。
- 请求筛选:设置文件扩展名限制(如禁止访问
.config文件)和最大请求长度(默认为30MB,大文件上传需调整)。
性能调优
启用压缩
在“压缩”模块中启用静态和动态内容压缩,可减少带宽占用并提高加载速度,静态压缩(如HTML、CSS)性能更高,动态压缩(如ASPX)需更多CPU资源。
缓存设置
- 输出缓存:对不常变化的页面启用缓存,减少服务器处理压力。
- 缓存:设置静态文件的缓存过期时间,如图片、CSS文件可缓存1天。
启用HTTP/2
在“站点”-“高级设置”中,将协议支持设置为“HTTP/2”,可提升多路复用和头部压缩性能(需Windows Server 2025及以上版本)。
日志与监控
- 日志配置:IIS默认将日志记录到
%SystemDrive%\inetpub\logs\LogFiles,可设置日志格式(如W3C扩展日志)和滚动方式(按大小或时间)。 - 性能监控:使用“性能监视器” counters(如
Web Service\Current Connections、ASP.NET Requests/Sec)实时监控服务器状态,或通过“Application Insights”进行远程监控。
相关问答FAQs
问题1:如何解决IIS站点访问时提示“HTTP 403.14 - Forbidden”?
解答:此错误通常是由于缺少默认文档或目录权限不足导致,可检查以下设置:
- 确认“默认文档”中已添加网站首页文件(如
index.html)。 - 检查网站目录的NTFS权限,确保
IIS_IUSRS用户有读取和执行权限。 - 在“目录浏览”模块中启用目录浏览(临时解决方案,正式环境建议关闭)。
问题2:如何配置IIS支持HTTPS并强制跳转?
解答:配置HTTPS并强制HTTP跳转需以下步骤:
- 在站点绑定中添加HTTPS证书(如通过IIS管理器导入或使用Let’s Encrypt)。
- 在“URL重写”模块中添加规则,类型为“空白规则”,匹配条件为“{HTTPS} off”,操作类型为“重定向”,URL输入
https://{HTTP_HOST}{REQUEST_URI},状态码设为301(永久跳转)。 - 重启IIS服务使配置生效。
