IIS内网搭建HTTPS的基本操作流程是什么?

499 阅读2分钟

一、生成自签名证书

方法1:通过PowerShell生成

powershell
复制
powershell
复制
# 生成包含SAN(Subject Alternative Name)的自签名证书
$certParams = @{
    DnsName           = "your-internal-domain.com"  # 替换为内网域名或IP
    CertStoreLocation = "Cert:\LocalMachine\My"
    KeyExportPolicy   = "Exportable"
    KeySpec           = "KeyExchange"
    KeyLength         = 2048
    NotAfter          = (Get-Date).AddYears(1)
    HashAlgorithm     = "SHA256"
    FriendlyName      = "IIS_Internal_HTTPS"
}

New-SelfSignedCertificate @certParams -NotAfter (Get-Date).AddYears(10) -KeyAlgorithm RSA -KeyUsage DigitalSignature, KeyEncipherment

注意

  • 如果需绑定IP地址,需在证书的DnsName字段填写IP(部分客户端可能仍需SAN扩展支持)。
  • 生成后可通过certlm.msc查看证书。

方法2:通过IIS管理器生成

  1. 打开IIS管理器,进入 ​服务器证书 功能。
  2. 点击右侧 ​创建自签名证书,输入名称并选择存储位置(建议个人)。
  3. 手动填写证书的“友好名称”和“主题备用名称”(SAN)。

二、在IIS中绑定HTTPS

  1. 创建网站
    在IIS中新建网站,指定物理路径和绑定信息:

    • 类型https
    • IP地址:留空(监听所有IP)或选择特定IP
    • 端口443
    • 主机名:留空(若需多站点,需配置不同IP或使用SNI)
    • SSL证书:选择刚创建的自签名证书。
  2. 验证绑定
    访问 https://localhosthttps://内网IP,确认站点可访问(浏览器会提示证书不受信任)。


三、客户端信任证书

  1. 导出证书
    从服务器导出证书(.cer格式):

    • 打开 certlm.msc,找到证书,右键导出为.cer文件。
  2. 分发并安装证书
    .cer文件发送给客户端,按以下步骤操作:

    • Windows:双击证书 → 安装 → 选择“本地计算机” → 存入“受信任的根证书颁发机构”。
    • 浏览器:部分浏览器需手动信任(如Chrome需导入到系统证书存储)。

四、防火墙配置

确保内网防火墙允许 443 端口(TCP)的入站流量。


五、验证与排错

  1. 访问测试
    使用浏览器或 curl 访问 https://内网IP,确认无协议错误。

  2. 常见错误处理

    • 证书名称不匹配:确保证书的SAN或CN字段包含访问的域名/IP。
    • 证书未信任:客户端需手动安装并信任证书。
    • 端口冲突:检查其他服务是否占用443端口。

附注

  • 生产环境建议:内网若有AD域,可通过企业CA颁发证书,自动信任。
  • 高级配置:如需多域名支持,可在证书中添加多个SAN条目。

完成以上步骤后,内网用户即可通过HTTPS安全访问IIS站点。