详情页标题前

阿里云负载均衡使用ALB部署HTTPS业务(双向认证)-云淘科技

详情页1

当您在处理一些关键业务时,HTTPS双向认证通过对通信双方做认证,为您的业务提供更高的安全性。本文指导您如何使用ALB部署HTTPS双向认证。

背景信息

  • HTTPS单向认证:客户端需要认证服务器端,而服务器端不需要认证客户端。客户端从服务器端下载服务器端公钥证书进行验证,然后建立安全通信通道。
  • HTTPS双向认证:客户端需要从服务器端下载服务器的公钥证书进行验证,同时还需要把客户端的公钥证书上传到服务器端进行验证,双方都通过认证,才能建立安全通信通道进行数据传输。因此双向认证可以为业务提供更高的安全性。

使用限制

仅标准版和WAF增强版的ALB实例支持双向认证,基础版ALB实例不支持双向认证。

前提条件

  • 您已创建了标准版或WAF增强版的ALB实例。具体操作,请参见创建应用型负载均衡。说明 基础版的ALB实例不支持双向认证。
  • 您已创建了ECS01和ECS02,并在ECS01和ECS02中部署了2个不同的Nginx服务。具体操作,请参见自定义购买实例和手动部署LNMP环境(Alibaba Cloud Linux 2)。
  • 您已创建了后端服务器组RS,并添加了ECS01和ECS02作为后端服务器。具体操作,请参见创建和管理服务器组。
  • 您已在ECS01中通过OpenSSL官网下载并安装OpenSSL工具(1.1.1及以上版本)。
  • 您已在证书中心购买或上传服务器证书。具体操作,请参见购买SSL证书和上传SSL证书。
  • 您已在证书中心购买并启用子CA证书,且私有子CA的证书剩余数量不为0;或已上传自签名根CA或自签名子根CA证书至证书中心。具体操作,请参见购买及启用私有CA和上传三方私有证书。

配置步骤

阿里云负载均衡使用ALB部署HTTPS业务(双向认证)-云淘科技说明 服务端需要完成购买服务器证书的操作,客户端(用户)需要完成准备客户端证书、导出客户端证书、安装客户端证书的操作。

步骤一:购买服务器证书

您可以从阿里云数字证书管理服务控制台购买、上传服务器证书或者在其他服务商处购买服务器证书。您可以通过浏览器检查服务器发送的证书是否是由自己信赖的中心签发的。

本文以从阿里云数字证书管理服务控制台购买服务器证书为例。关于如何购买服务器证书,请参见购买SSL证书和上传SSL证书。说明 购买SSL证书时需要绑定域名,请确保您拥有真实可用的域名。

步骤二:准备客户端证书

本文为您介绍两种获取CA证书的方式。您可以通过证书中心购买CA证书并申请客户端证书,也可以上传自签CA证书至证书中心。

方式一:购买客户端证书

  1. 登录数字证书管理服务控制台。
  2. 在左侧导航栏,单击私有证书。
  3. 在私有证书页面,单击私有CA页签,找到目标根CA证书。
  4. 单击目标根CA证书前的阿里云负载均衡使用ALB部署HTTPS业务(双向认证)-云淘科技图标,找到目标私有子CA,在操作列单击申请证书。
  5. 在申请证书面板,完成以下证书信息配置,然后单击确认申请。此处仅列出和本文强相关的配置项。关于申请证书的更多操作,请参见管理私有证书。
    参数 说明
    证书类型 选择私有证书的证书类型。本文选择客户端证书。
    公用名(CN) 私有证书主体的通用名称。客户端证书支持填写用户邮箱地址或URL。

    本文填写已创建的ALB实例的域名。

    有效期限 私有证书的有效期。该有效期不能超过您购买的PCA服务的时长。

    本文默认显示30天。

    提交证书申请后,证书会立即签发。您可以在目标私有CA操作列单击证书列表,在证书列表页面查看已签发的证书信息。

方式二:上传自签CA证书

  1. 远程登录ECS01,执行以下命令,生成自签名根CA证书。ALB支持自签名根CA或自签名子根CA证书进行双向认证,本文以自签名根CA证书为例为您介绍。
    1. 执行以下命令,创建根CA证书私钥。
      openssl genrsa -out root.key 4096
    2. 执行以下命令,创建根CA证书请求文件。
      openssl req -new -out root.csr -key root.key

      后续参数请自行填写,示例如下:

      Country Name (2 letter code) [XX]:cn
      State or Province Name (full name) []:bj
      Locality Name (eg, city) [Default City]:bj
      Organization Name (eg, company) [Default Company Ltd]:alibaba
      Organizational Unit Name (eg, section) []:test
      Common Name (eg, your name or your servers hostname) []:root
      Email Address []:a.alibaba.com
      A challenge password []:
      An optional company name []:
    3. 执行以下命令,创建根CA证书。
      openssl x509 -req -in root.csr -out root.crt -signkey root.key -CAcreateserial -days 3650

      运行结果如下图所示:阿里云负载均衡使用ALB部署HTTPS业务(双向认证)-云淘科技

    4. 执行以下命令,创建一个存放根CA证书的文件目录。
      mkdir -p /root/ca
    5. 执行以下命令,将根CA证书复制到目标文件目录下。
      cp root.crt /root/cacp root.key /root/ca
    6. 执行以下命令查看生成的根CA证书root.crt和根CA证书私钥root.key
      cd /root/cals

      运行结果如下图所示:阿里云负载均衡使用ALB部署HTTPS业务(双向认证)-云淘科技

  2. 在本地打开命令行窗口,执行以下命令导出步骤1生成的根CA证书文件至本地文件夹。本文以Windows客户端为例。
    scp root@IPaddress:/root/ca/root.crt  /C:/Users/test    //IPaddress是生成根CA证书的服务器的IP地址scp root@IPaddress:/root/ca/root.key  /C:/Users/test    //IPaddress是生成根CA证书的服务器的IP地址

    根据提示输入生成根CA证书的服务器的密码。

  3. 登录数字证书管理服务控制台。
  4. 在左侧导航栏,单击证书应用仓库。
  5. 在证书应用仓库页面,单击创建仓库。
  6. 在创建仓库面板,配置以下参数,然后单击确定。
    配置项说明
    仓库名称自定义仓库名称。
    数据来源本文选择上传证书,表示对通过第三方证书服务商购买并签发的私有证书进行管理。
  7. 在证书应用仓库页面,单击目标证书仓库。
  8. 在证书管理页面,单击上传证书。
  9. 在CA信息面板,参考下表配置,单击确认并启用。
    配置项说明
    名称为要上传的私有证书设置一个名称。
    证书文件填写私有证书文件内容的PEM编码。

    您可以使用文本编辑工具打开PEM或者CRT格式的私有证书文件,复制其中的内容并粘贴到该文本框,或者单击该文本框下的上传,并选择存储在本地计算机的私有证书文件,将文件内容上传到文本框。

    本文选择上传步骤2导出的根CA证书root.crt文件。

    证书私钥 填写私有证书私钥内容的PEM编码。

    本文选择上传步骤2导出的根CA证书密钥root.key文件。

步骤三:导出客户端证书

方式一:导出通过控制台购买的客户端证书

如果您已通过控制台购买了客户端证书,并需要通过该客户端证书进行双向认证,请执行以下操作导出客户端证书。

  1. 登录数字证书管理服务控制台。
  2. 在左侧导航栏,单击私有证书。
  3. 在私有证书页面,单击私有CA页签,找到目标根CA证书。
  4. 单击目标根CA证书前的阿里云负载均衡使用ALB部署HTTPS业务(双向认证)-云淘科技图标,找到目标子CA证书,在操作列单击证书列表。
  5. 在证书列表页面,找到目标客户端证书,在操作列单击详情,然后在证书详情面板,选中查看私钥内容。
  6. 在请输入密码文本框中,设置私钥加密密码,并单击导出。导出成功后,证书详情面板下方会显示该私有证书的证书内容、证书链内容、私钥内容。说明 在导出证书的过程中,您输入的私钥加密密码会被用于加密证书私钥,后续安装私有证书时,需要您使用此处设置的密码对私钥解密,请保存好此密码。
  7. 在本地新建2个TXT文件,分别将证书内容、私钥内容复制粘贴进去,并将证书内容的文件保存为.crt格式,将私钥内容的文件保存为.key格式。重命名客户端证书为client.crt,客户端私钥为client.key
  8. 将客户端证书转换为浏览器可以识别的PKCS12文件。
    1. 远程登录ECS01,具体操作,请参见ECS远程连接操作指南。
    2. 执行以下命令创建一个存放客户端证书的文件目录。
      mkdir -p /root/ca/users
    3. 将步骤7生成的客户端证书client.crt和私钥client.key上传到users目录下。
    4. 执行以下命令将客户端证书转化为PKCS12文件。
      openssl pkcs12 -export -clcerts -in /root/ca/users/client.crt -inkey /root/ca/users/client.key -out /root/ca/users/client.p12
    5. 按照提示输入步骤6设置的客户端私钥加密密码。
    6. 输入用于导出证书的密码。此密码为客户端证书的保护密码,在安装客户端证书时需要输入该密码。运行结果如下图所示:阿里云负载均衡使用ALB部署HTTPS业务(双向认证)-云淘科技
  9. 执行以下命令查看生成的客户端证书。
    cd /root/ca/users
    ls

    运行结果如下图所示:阿里云负载均衡使用ALB部署HTTPS业务(双向认证)-云淘科技

  10. 在本地打开命令行窗口,执行以下命令导出步骤三中生成的客户端证书。
    scp root@IPaddress:/root/ca/users/client.p12 ./          //IPaddress是生成客户端证书的服务器的IP地址

    根据提示输入生成根CA证书的服务器的密码。

方式二:导出通过自签证书生成的客户端证书

如果您已上传自签CA证书至证书中心,并需要自签CA证书生成的客户端证书进行双向认证,请执行以下操作生成客户端证书。

  1. 远程登录ECS01,执行以下步骤,生成客户端证书。具体操作,请参见ECS远程连接操作指南。
    1. 执行以下命令,生成客户端证书密钥。
      openssl genrsa -out client.key 4096
    2. 执行以下命令,生成客户端证书请求文件。
      openssl req -new -out client.csr -key client.key
    3. 执行以下命令,生客户端证书。
      openssl x509 -req -in client.csr -out client.crt -signkey client.key -CA root.crt -CAkey root.key -CAcreateserial -days 3650
    4. 执行以下命令,将生成的客户端证书client.crt转换为浏览器可以识别的PKCS12文件。
      openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
    5. 按照提示输入设置的客户端私钥加密密码。
    6. 执行以下命令,将根CA证书复制到目标文件的目录下。
      cp client.p12 /root/ca
    7. 执行以下命令查看生成的客户端证书。
      cd /root/ca
      ls

      运行结果如下图所示:阿里云负载均衡使用ALB部署HTTPS业务(双向认证)-云淘科技

  2. 在本地打开命令行窗口,执行以下命令导出步骤1生成的根CA证书文件至本地文件夹。本文以Windows客户端为例。
    scp root@IPaddress:/root/ca/client.p12  /C:/Users/test    //IPaddress是生成根CA证书的服务器的IP地址

    根据提示输入生成根CA证书的服务器的密码。

步骤四:安装客户端证书

将生成的客户端证书安装到客户端。本文以Microsoft Edge浏览器为例。

在Microsoft Edge浏览器中导入下载的客户端证书。

  1. 打开Microsoft Edge浏览器,选择阿里云负载均衡使用ALB部署HTTPS业务(双向认证)-云淘科技 > 设置。
  2. 在左侧导航栏,单击隐私、搜索和服务页签,然后在安全模块找到管理证书,导入下载的客户端证书。在导入证书时需要输入步骤8导出证书的密码。阿里云负载均衡使用ALB部署HTTPS业务(双向认证)-云淘科技

步骤五:配置HTTPS双向认证监听

  1. 登录应用型负载均衡ALB控制台。
  2. 在顶部菜单栏,选择ALB实例所属的地域。本文选择华东1(杭州)。
  3. 在实例页面,找到目标ALB实例,单击实例ID。
  4. 在监听页签,单击创建监听,完成以下配置,然后单击下一步。此处仅列出和本文强相关的配置项,其他未列出的配置项使用默认值。更多信息,请参见添加HTTPS监听。
    参数 说明
    选择负载均衡协议 选择监听的协议类型。

    本文选择HTTPS。

    监听端口 输入用来接收请求并向后端服务器进行请求转发的监听端口,本文输入443

    通常HTTP协议使用80端口,HTTPS协议使用443端口。

    监听名称 输入自定义监听名称。
    高级配置 单击修改展开高级配置。说明 本文保持默认配置。
    启用HTTP 2.0 选择是否开启HTTP 2.0。本文保持默认值,即开启HTTP 2.0。
  5. 在配置SSL证书配置向导,选择步骤一购买的服务器证书。
  6. 单击修改展开高级配置,开启高级配置中的启用双向认证。
    • 选择CA证书来源为阿里云签发,在选择默认CA证书下拉框中选择步骤二:准备客户端证书购买的CA证书。

      如果没有可选的CA证书,您可以在下拉框中单击购买CA证书创建新证书。更多信息,请参见购买及启用私有CA。

    • 选择CA证书来源为非阿里云签发,在选择默认CA证书下拉框中选择步骤二:准备客户端证书上传的自签CA证书。

      如果没有可选的自签名CA证书,您可以在下拉框中单击上传自签CA证书,在证书仓库页面,创建数据来源为上传证书的仓库,然后通过证书应用仓库上传自签名根CA或自签名子根CA证书。更多信息,请参见上传三方私有证书。

  7. 选择TLS安全策略,然后单击下一步。
  8. 在选择服务器组配置向导,选择服务器类型及服务器类型下的后端服务器组RS,查看后端服务器ECS01和ECS02的信息,然后单击下一步。
  9. 在配置审核配置向导,确认配置信息,然后单击提交。

步骤六:配置域名解析

将步骤一中购买的服务器证书的域名通过CNAME域名解析的方式解析到ALB实例的公网服务域名上。

  1. 登录应用型负载均衡ALB控制台。
  2. 在顶部菜单栏,选择ALB实例所属的地域。本文选择华东1(杭州)。
  3. 选择已创建的标准版的ALB实例,复制其对应的DNS名称。
  4. 完成以下步骤添加CNAME解析记录。
    1. 登录域名解析控制台。
    2. 在域名解析页面单击添加域名。
    3. 在添加域名对话框中输入您的域名,然后单击确定。重要
      • 这里添加的域名为服务器证书绑定的域名。
      • 您的域名需已完成TXT记录验证。
    4. 在目标域名的操作列单击解析设置。
    5. 在解析设置页面单击添加记录。
    6. 在添加记录面板配置以下信息完成CNAME解析配置,然后单击确认。
      配置 说明
      记录类型 在下拉列表中选择CNAME。
      主机记录 您的域名的前缀。
      解析请求来源 选择默认。
      记录值 输入域名对应的CNAME地址,即您复制的ALB实例的DNS名称。
      TTL 全称Time To Live,表示DNS记录在DNS服务器上的缓存时间,本文使用默认值。

      说明

      • 新增CNAME记录实时生效,修改CNAME记录取决于本地DNS缓存的解析记录的TTL到期时间,一般默认为10分钟。
      • 添加时如遇添加冲突,请换一个解析域名。更多信息,请参见解析记录互斥规则。

步骤七:测试HTTPS双向认证

  1. 登录应用型负载均衡ALB控制台。
  2. 在顶部菜单栏,选择ALB实例所属的地域。本文选择华东1(杭州)。
  3. 在实例页面,单击目标实例ID,然后单击监听页签,查看健康检查状态。当健康检查状态列为正常时,表示后端服务器可以正常接收处理ALB的HTTPS监听转发的请求。
  4. 在浏览器中,输入服务器证书绑定的域名,在弹出的对话框中选中用于验证客户端身份的证书,单击确定。阿里云负载均衡使用ALB部署HTTPS业务(双向认证)-云淘科技
  5. 刷新浏览器,您可以观察到客户端的请求在ECS01和ECS02服务器之间的转换。阿里云负载均衡使用ALB部署HTTPS业务(双向认证)-云淘科技阿里云负载均衡使用ALB部署HTTPS业务(双向认证)-云淘科技

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/169208.html

(0)
上一篇 2023年12月10日 上午11:46
下一篇 2023年12月10日 上午11:48
详情页2

相关推荐

  • 阿里云对象存储OSSOSS高防-云淘科技

    OSS高防是OSS结合DDoS高防推出的DDoS攻击代理防护服务。当受保护的存储空间(Bucket)遭受大流量攻击时,OSS高防会将攻击流量牵引至高防集群进行清洗,并将正常访问流量回源到目标Bucket,确保业务能正常进行。 使用场景 DDoS攻击是近年来对企业业务危害最大的攻击手段之一。当企业遭受DDoS攻击时,可能会导致业务中断,进而导致企业的形象受损、…

    阿里云对象存储 2023年12月10日
  • 阿里云容器服务ACK应用监控-云淘科技

    对于部署在容器服务Kubernetes版中的Java应用,您可以使用应用实时监控服务ARMS对其进行监控,实现自动发现应用拓扑、自动生成3D拓扑、自动发现并监控接口、捕获异常事务和慢事务,大幅提升线上问题诊断的效率。 前提条件 已创建Kubernetes集群。具体操作,请参见创建Kubernetes托管版集群或创建Kubernetes专有版集群。 创建命名空…

    2023年12月10日
  • 阿里云日志服务SLS用量查询-云淘科技

    阿里云支持导出日志服务的使用明细。本文介绍查询日志服务使用明细的操作步骤。 操作步骤 登录用户中心。 在左侧导航栏,选择账单管理 > 账单详情。 在用量明细页签中,完成如下设置。 参数 说明 产品 选择sls。 计量规格 选择日志服务。 使用时间 选择您要查询的时间范围。 仅支持自然月内的用量查询。例如开始时间为2022-02-01,结束时间最大为20…

    阿里云日志服务SLS 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云ECS云服务器购买须知-云淘科技

    本文介绍购买云服务器ECS前需要了解的信息。 备案须知 待备案的ECS实例需要满足购买要求,且每台实例可申请的备案服务号数量有限,更多信息,请参见ICP备案服务器(接入信息)准备与检查。 备案流程说明,请参见ICP备案流程概述。 资源升级 关于如何升级云服务器ECS,请参见升降配方式概述。请注意: 除带本地存储的实例外,云服务器ECS支持在线变更CPU、内存…

    阿里云服务器 2023年12月9日
  • 阿里云负载均衡HTTP头字段-云淘科技

    HTTP头字段是指在超文本传输协议(HTTP)的请求和响应消息中的消息头部分。HTTP头字段可以根据需求自定义,因此在Web服务器和浏览器上可能存在非标准的HTTP头字段。本文介绍应用型负载均衡ALB(Application Load Balancer)支持的非标准头字段。 ALB支持的头字段 字段名 说明 适用监听协议 X-Forwarded-For 在您…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。