Certimate自动化SSL证书部署至IIS服务器

前言:笔者上一篇内容已经部署好了Certimate开源系统,于是开始搭建部署至Linux和Windows服务器,Linux服务器十分的顺利,申请证书-部署证书很快的完成了,但是部署至Windows Server的IIS服务时,遇到一些阻碍,后面也解决了,谨以此片记录部署过程,一起共勉。

关于Certimate搭建就不在赘述了,请看我另一篇文章:公网可信CA机构颁发SSL证书自动部署-CSDN博客

由于自动部署SSL证书至Linux系统服务比较顺利,就不在描述如何部署;部署至IIS服务有几个要点,仅在这里记录下。 

一、申请配置

这里以阿里云为例,填写好基本信息后跳转第二步

二、部署配置至Windows IIS服务器

1、选中部署方式-SSH部署,新增授权配置

 

填写Windows服务器远程登录信息,SSH端口默认22。(下面会讲到如何打开Windows ssh服务)

2、安装Windows Server OpenSSH服务

安装ssh服务有多个方式,可以参考下列网站:

安装OpenSSH Server

我使用第二种方法安装openssh,打开设置-应用-管理可选功能 

 添加功能

找到OenSSH服务器,点击安装即可 

安装完成后,找到服务-启动-设置自动-确定

 检查防火墙入站策略,是否自动开放22端口

本地电脑测试22端口是否启用成功,telnet 192.168.1.10 22,如果有反应,那么就说明已经安装成功

3、配置默认shell命令窗口为powershell

如果没有切换为powershell,那么自动部署SSL远程命令将不可用,会报错。

# powershell中执行如下命令切换
# 设置默认shell为powershell 【推荐】
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force

# 恢复默认shell为cmd 【不推荐】
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\cmd.exe" -PropertyType String -Force

4、部署配置-添加命令行配置

证书格式-PFX,证书保存路径填IIS服务器上的路径,可以自己新建一个文件夹,并写上pfx文件全称,导出密码这里自行填写,命令内容如下,使用的原理是powershell命令,导入证书至IIS服务中并启用。

 

 这里是预设脚本,可以在系统中找到,把前6个参数填写完成就行了。

# 请将以下变量替换为实际值
$pfxPath = "<your-pfx-path>" # PFX 文件路径
$pfxPassword = "<your-pfx-password>" # PFX 密码
$siteName = "<your-site-name>" # IIS 网站名称
$domain = "<your-domain-name>" # 域名
$ipaddr = "<your-binding-ip>"  # 绑定 IP,“*”表示所有 IP 绑定
$port = "<your-binding-port>"  # 绑定端口


# 导入证书到本地计算机的个人存储区
$cert = Import-PfxCertificate -FilePath "$pfxPath" -CertStoreLocation Cert:\LocalMachine\My -Password (ConvertTo-SecureString -String "$pfxPassword" -AsPlainText -Force) -Exportable
# 获取 Thumbprint
$thumbprint = $cert.Thumbprint
# 导入 WebAdministration 模块
Import-Module WebAdministration
# 检查是否已存在 HTTPS 绑定
$existingBinding = Get-WebBinding -Name "$siteName" -Protocol "https" -Port $port -HostHeader "$domain" -ErrorAction SilentlyContinue
if (!$existingBinding) {
    # 添加新的 HTTPS 绑定
  New-WebBinding -Name "$siteName" -Protocol "https" -Port $port -IPAddress "$ipaddr" -HostHeader "$domain"
}
# 获取绑定对象
$binding = Get-WebBinding -Name "$siteName" -Protocol "https" -Port $port -IPAddress "$ipaddr" -HostHeader "$domain"
# 绑定 SSL 证书
$binding.AddSslCertificate($thumbprint, "My")
# 删除目录下的证书文件
Remove-Item -Path "$pfxPath" -Force

siteName网站名称,在IIS服务器中网站找到

ipaddr填写服务器IP,port端口默认填写443 

4、部署测试

部署测试通过,阶段全为绿色,也可以查看日志检查

<think>嗯,用户想了解在IIS部署证书的教程。我需要先看看用户提供的引用内容,然后整理出步骤。首先,用户提到了三个引用,都是关于IIS证书部署的,包括转换格式、导入PFX文件以及阿里云的步骤。 首先,我应该从下载证书开始,根据引用3,用户需要登录SSL证书控制台下载IIS格式的证书,通常是PFX格式。然后可能需要转换证书格式,但引用2提到转换工具,不过如果直接从阿里云下载的是PFX,可能不需要转换。需要确认是否需要转换,比如如果用户有其他格式的证书,可能需要用工具转成PFX。 接下来,导入证书IIS。引用1和2都提到了使用PowerShell命令或者在IIS管理器中操作。步骤应该包括打开IIS管理器,选择服务器证书,导入PFX文件,输入密码,然后绑定到网站。 然后,检查证书链是否正确,引用2提到需要按顺序排列中级证书和交叉证书,所以可能需要确认证书链完整,否则会有信任问题。 最后测试部署,用HTTPS访问网站,检查是否有安全锁标志。另外,可能需要提醒用户定期续费证书,或者配置自动续期,比如引用1提到的Certimate自动化部署,不过用户的问题可能只是手动部署。 需要注意的是,不同版本的IIS可能步骤略有不同,比如引用2提到的是IIS8.5在Windows Server 2012 R2,但用户可能使用的是其他版本,需要通用步骤。同时,PFX的路径和密码要正确,避免导入失败。可能还要提到权限问题,比如运行PowerShell需要管理员权限,或者证书存储的位置是否正确。 用户可能遇到的问题包括证书密码错误,证书链不完整导致浏览器警告,或者绑定端口冲突。应该在教程中给出常见问题解决方法,或者提示如何排查这些错误。 总结步骤应该是:下载证书->转换格式(如果需要)->导入到IIS->绑定网站->测试。每个步骤详细说明,确保用户能按部就班操作。同时引用对应的引用来源,比如引用3的下载步骤,引用1的导入命令,引用2的证书链顺序。</think>### IIS证书部署教程(分步说明) 根据提供的参考资料,以下是Windows IIS服务器部署SSL证书的详细流程: --- **第一步:下载证书文件** 1. 登录SSL证书管理平台(如阿里云控制台)[^3] 2. 找到已签发的证书,选择「IIS服务器」类型下载 3. 获得包含`.pfx`扩展名的证书文件及密码(如`certificate.pfx`) **第二步:准备证书文件** - 若证书格式非PFX,需通过转换工具生成PFX文件[^2] - 在IIS服务器创建专用存储目录(如`C:\SSL_Cert`) - 将PFX文件与密码记录保存至该目录 **第三步:导入证书IIS** ```powershell # 管理员身份运行PowerShell(引用[^1]) Import-PfxCertificate -FilePath C:\SSL_Cert\certificate.pfx -CertStoreLocation Cert:\LocalMachine\My -Password (ConvertTo-SecureString -String "导出密码" -AsPlainText -Force) ``` *或通过图形界面操作:* 1. 运行`inetmgr`打开IIS管理器[^2] 2. 选择服务器节点 → 双击「服务器证书」 3. 点击「导入」→ 选择PFX文件并输入密码 **第四步:绑定证书到网站** 1. 右键目标网站 → 选择「编辑绑定」 2. 添加HTTPS绑定: - 类型:https - IP地址:全部未分配 - 端口:443 - SSL证书:选择刚导入的证书 3. 重启网站使配置生效 **第五步:验证部署** 1. 浏览器访问`https://域名` 2. 检查地址栏锁形图标 3. 使用SSL检测工具(如SSL Labs)验证证书链完整性 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值