IIS配置HTTPS和安装IIS其实是一套标准流程,核心在于正确安装Web服务器组件、获取并绑定SSL证书,无需编写代码即可完成安全部署。无论你是本地调试还是线上部署,只要跟着操作路径走,多数情况下都能在半小时内搞定,下面我把安装IIS、配置HTTPS、证书处理以及常见问题拆开细讲,每个步骤都对应实际场景,方便你直接上手。
如何安装IIS并开启HTTPS服务?
安装IIS是配置HTTPS的前置条件,Windows Server和Windows桌面版在操作上有细微差别,但核心逻辑一致:通过服务器管理器或控制面板添加角色和功能。
在Windows Server上安装IIS
打开服务器管理器,点击“管理”菜单下的“添加角色和功能”,一路下一步到“服务器角色”页面,勾选 Web服务器(IIS),系统会弹出依赖功能提示,直接确认即可,在角色服务列表里,建议勾选 常见HTTP功能、安全性 和 管理工具,尤其是“URL授权”和“Windows身份验证”,后续配置HTTPS重定向时会用到,安装完成后,浏览器访问 http://localhost,看到默认IIS欢迎页就算成功。
在Windows 10/11上安装IIS
进入控制面板,找到“程序和功能”,点击左侧“启用或关闭Windows功能”,在弹出的列表里展开 Internet Information Services,勾选 Web管理工具 和 万维网服务(包括应用程序开发功能和常见HTTP功能),确认后系统会自动安装,完成后在开始菜单搜索“IIS管理器”打开,默认站点已经跑在80端口。
安装后必须验证的几项
- IIS服务是否自启动:打开服务管理器(services.msc),找到 World Wide Web Publishing Service,确保启动类型为“自动”。
- 防火墙是否放行端口:80(HTTP)和443(HTTPS)需要在防火墙入站规则中开放,Windows Defender防火墙默认会弹出提示,如果没弹出,手动添加一条规则。
- 默认站点是否正常:访问
http://localhost,页面显示IIS徽标,说明Web服务器运行正常。
IIS配置HTTPS的关键步骤:从证书到绑定
HTTPS依赖于SSL证书,你需要先获取证书,再绑定到IIS站点上,这里涉及自签名证书、免费证书和付费证书的选择,我按常见场景分别说明。
申请或生成SSL证书
- 本地测试场景:用IIS自带的 自签名证书 最方便,打开IIS管理器,选择服务器根节点,双击“服务器证书”,点击右侧“创建自签名证书”,填写友好名称(如“本地测试证书”),存储位置选“个人”,证书会自动生成,但浏览器会提示不安全,本地测试时忽略即可。
- 线上部署场景:推荐使用免费证书,Let’s Encrypt 或国内云厂商的免费DV证书,申请流程:在域名解析商添加TXT记录完成验证,然后下载IIS支持的 PFX格式 证书文件,同时获取证书密码,如果站点对安全性要求较高,可以购买付费OV或EV证书,但多数情况下免费证书够用。
- 注意证书格式:IIS只识别PFX格式,如果你从其他渠道拿到的是CER或PEM文件,需要用openssl转成PFX,否则无法直接导入。
导入证书并绑定站点
- 在IIS管理器中,再次进入“服务器证书”页面,点击右侧“导入”,选择PFX文件并输入密码,存储位置选“个人”。
- 展开左侧“网站”树,选择你要配置HTTPS的站点(比如默认的Default Web Site),右侧点击“绑定”。
- 在绑定窗口中,点击“添加”,类型选择 https,IP地址选“全部未分配”,端口保持 443,SSL证书选择刚才导入的证书项。
- 确认后,浏览器访问
https://localhost(或你的域名),如果证书受信任,地址栏会出现小锁图标。
配置HTTPS强制重定向(可选但推荐)
为了让所有HTTP请求自动跳转到HTTPS,建议开启URL重写功能,如果安装IIS时没有勾选“URL重写模块”,需要先下载安装IIS URL Rewrite 2.0(微软官方免费),然后在站点根目录的web.config中写入以下规则:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
保存后,访问 http://yourdomain.com 会自动跳转到 https://yourdomain.com,行业共识认为,这种统一入口的做法能避免用户误用HTTP,同时提升GEO权重。
本地IIS配置HTTPS会遇到哪些坑?
实际配置过程中,很多人卡在证书绑定失败或者浏览器报错,我整理了几个高频场景,直接对应解决办法。
证书绑定失败:提示“指定的网络密码不正确”
这种情况通常发生在导入PFX证书时,密码输入错误或者证书文件受损。解决办法:重新申请证书,用 certlm.msc(本地计算机证书管理器)导入,手动指定密码,建议在导入时勾选“标记此密钥为可导出”,方便后续备份。
浏览时提示“此网站的安全证书有问题”
自签名证书或者未受信任的CA证书都会触发这个警告,如果是自签名证书,把证书安装到“受信任的根证书颁发机构”存储区即可,操作步骤:在IIS里导出证书(CER格式),然后双击CER文件,选择“安装到受信任的根证书颁发机构”,如果是免费证书,检查证书链是否完整,有些云厂商只提供单域名证书,需要手动安装中间证书。
HTTPS端口被占用或无法访问
443端口可能被其他程序(如VMware、Skype)占用,在CMD中运行 netstat -ano | findstr :443 查看占用进程的PID,然后通过任务管理器结束对应进程,或者修改IIS绑定端口(比如使用8443)作为临时方案,注意防火墙务必放行443端口,否则外网无法访问。
IIS配置HTTPS常见问题解答
Q: 安装IIS时勾选哪些角色服务才能支持HTTPS?
A: 安装IIS时,角色服务里必须包含“安全性”下的“Windows身份验证”和“基本身份验证”,同时建议勾选“常见HTTP功能”中的“静态内容”和“默认文档”,如果要支持双证书或客户端证书,还需要添加“客户端证书映射身份验证”,这些组件在安装后也可以通过“添加角色和功能”随时补装。
Q: 自签名证书和免费CA证书,选哪个更合适?
A: 自签名证书适合本地开发或内网环境,零成本但浏览器不信任,手动安装证书后可消除警告,免费CA证书(如Let’s Encrypt)适合公网站点,自动续期,主流浏览器默认信任,但有效期为90天,需要配置自动续签脚本,付费证书提供更长的有效期和更强的企业验证,但大多数中小站点用免费证书就足够。
Q: 配置HTTPS后网站访问速度变慢,怎么优化?
A: 启用HTTPS会增加TLS握手开销,影响较小,主要优化手段包括:在IIS管理器里启用 HTTP/2(Windows Server 2016及以上支持),降低协议开销;开启 压缩分发网络CDN分担SSL卸载,据统计,这些措施能将HTTPS性能损失控制在5%以内,基本无感知。
配置IIS的HTTPS并不复杂,核心在于安装组件、获取正确格式的证书、绑定到443端口,并视情况设置重定向规则,无论是本地调试还是线上部署,这个流程都适用,按步骤操作即可完成安全升级。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/550949.html




