[CloudNative] 企业应用上云实践手记-Cloud Native Phase 6-如何申请外网域名和SSL证书
【摘要】 作者:关耳山石整个端到端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.cn的网址都走这个。下图是选了一个免费证书的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)