[CloudNative] 企业应用上云实践手记-Cloud Native Phase 6-如何申请外网域名和SSL证书

举报
华为云PaaS服务小智 发表于 2021/05/10 17:22:32 2021/05/10
【摘要】 作者:关耳山石整个端到端CloudNative产品落地,计划分为六个阶段展开:Cloud Native Phase 1 - 云上微服务开发端到端Cloud Native Phase 2 - 云上DevOpsCloud Native Phase 3 - 云原生应用AutoConfigCloud Native Phase 4 – 如何实现云上弹性伸缩和熔断限流Cloud Native Phase...

作者:关耳山石

整个端到端CloudNative产品落地,计划分为六个阶段展开:

Cloud Native Phase 1 - 云上微服务开发端到端

Cloud Native Phase 2 - 云上DevOps

Cloud Native Phase 3 - 云原生应用AutoConfig

Cloud Native Phase 4 – 如何实现云上弹性伸缩和熔断限流

Cloud Native Phase 5 - 云上权限管理和网络安全 

Cloud Native Phase 6 – 如何申请外网域名和SSL证书

本文为第六章,即Cloud Native Phase 6 - 如何申请外网域名和SSL证书。

题记:

从网络安全角度,采用HTTPS是必选项,而在业界HTTP2.0已经是事实标注,在这个标准里,现在主流的浏览器像Chrome,Firefox表示还是只支持基于TLS部署的HTTP2.0协议,也就是强制使用HTTPS。

所以业务在云上发布前,第一件事儿就是要搞定外网域名和SSL证书,以开启HTTPS。下面就是端到端跑了一下域名申请到SSL证书申请的流程,供参考。

1.通过华为云CCM服务购买SSL证书

1.1 提交购买证书申请

  • 登录华为云后,进入云证书管理(CCM)服务,选择证书管理->SSL证书,点击购买证书
  • 为我们的测试环境域名购买泛域名证书,这里支持单域名多域名三种,为了后续维护方便,我选择的泛域名,也就是所有*.XX.huawei.com的网址都走这个。下图是选了一个免费证书的DEMO进行验证。



1.2 申请SSL证书

  • 购买成功后,会在CCM控制台看到一个待申请的证书,点击申请证书。

  • 输入绑定域名,填写一下技术人员联系方式,点击提交

  • 提交成功

1.3 进行DNS验证

  • 首先证书颁发机构,会给我们前面登记的技术人员联系邮箱,发送一封邮件。

  • 邮件内容在华为云的CCM服务里也可以看到

  • 回到华为HIS ENS服务,增加一条TXT类型的记录

  • 验证DNS是否生效,打开本地控制台,输入nslookup -q=TXT XXXXX(申请的域名),如果可以看到显示text = xxx,则说明已经生效

1.4 下载证书

  • 对于已经颁发的证书,可以直接下载


下载页面有提供各类组件对接的指令帮助

  • 下载内容里包含了针对各类组件的证书文件,这里我主要用到的是Nginx组件
  • 直接打开目录,有两个文件*.crt*.key
  • notepad打开,可以看到内容
    crt文件包括两段证书代码-----BEGIN CERTIFICATE----------END CERTIFICATE-----
    server.key文件包括一段私钥代码-----BEGIN RSA PRIVATE KEY----------END RSA PRIVATE KEY-----

2. SSL证书在华为云APIG服务应用

APIG服务允许绑定私有域名,但是如果要开启HTTPS,则需要绑定SSL证书

2.1 进入华为云APIG服务

  • 首先进入APIG服务,进入API分组


  • 默认每个API分组会生成一个子域名,前缀和API分组ID一致


  • 进入域名管理页面,点击绑定独立域名,这里的域名要在华为云的DNS服务里解析一下

2.2 在华为云DNS服务解析域名

  • 进入DNS服务,创建公网域名,这里我绑定的是自己的泛域名,也就是huawei.com.cn


  • 添加记录值类型CNAME主机记录自己起的,输入前面API子组子域名,然后保存


2.3 绑定SSL证书

  • 回到前面的API分组->域名管理页面,点击添加SSL证书,填入前面下载的证书内容,即可完成绑定


3. 验证HTTPS生效

3.1 准备阶段

  • 为了验证是否有效,我特意绑定了两个域名,一个是添加了SSL证书的,一个没有


  • 通过Insomnia(一个类似PostMan的工具)进行验证。验证之前,确保我开启了Validate certificates

  • 暴露一个简单的API,开启HTTPS认证

3.2 通过Insomnia验证

  • 针对绑定了SSL证书的域名,返回正常


  • 针对未绑定SSL证书的域名,Error: SSL peer certificate or SSH remote key was not OK


总结

如上总结了如何为我们的域名增加HTTPS的历程,欢迎指正。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。