服务网格ASM使用FAQ之(5):ASM网关支持在SLB侧创建HTTPS类型的监听

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: ASM网关提供HTTPS安全支持、证书动态加载,从而提升ASM网关安全性。除了在ASM网关侧绑定证书的方式之外, 还可以在负载均衡侧管理证书。本文介绍如何支持ASM网关服务在负载均衡侧绑定证书, 并创建HTTPS类型的监听。


ASM网关提供HTTPS安全支持、证书动态加载,从而提升ASM网关安全性。除了在ASM网关侧绑定证书的方式之外,  还可以在负载均衡侧管理证书。

本文介绍如何支持ASM网关服务在负载均衡侧绑定证书, 并创建HTTPS类型的监听。


前提条件


背景信息

如何为K8s Service创建HTTPS类型的监听

需要先在阿里云控制台上创建一个证书并记录cert-id,然后使用如下Annotation创建一个HTTPS类型的SLB。

说明: HTTPS请求会在SLB层解密,然后以HTTP请求的形式发送给后端的Pod。


apiVersion: v1
kind: Service
metadata:  annotations:    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: "https:443"    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${YOUR_CERT_ID}"  name: sample
  namespace: default
spec:  ports:  - port: 443    protocol: TCP
    targetPort: 80  selector:    app: sample
  type: LoadBalancer


具体参考文档: https://help.aliyun.com/document_detail/86531.html


步骤一:准备SLB需要的证书

本示例中为aliyun.com生成证书和私钥。

如果您已经拥有针对aliyun.com可用的证书和私钥,需要将密钥命名为aliyun.com.key,证书命名为aliyun.com.crt。如果没有,可以通过openssl执行以下步骤来生成证书和密钥。


1.执行以下命令,创建根证书和私钥。

openssl req -x509-sha256-nodes-days365-newkey rsa:2048 -subj'/O=myexample Inc./CN=aliyun.com'-keyout aliyun.root.key -out aliyun.root.crt 


2.执行以下命令,为aliyun.com服务器生成证书和私钥。

openssl req -out aliyun.com.csr -newkey rsa:2048 -nodes-keyout aliyun.com.key -subj"/CN=aliyun.com/O=myexample organization"openssl x509 -req-days365-CA aliyun.root.crt -CAkey aliyun.root.key -set_serial0-in aliyun.com.csr -out aliyun.com.crt


3.在SLB控制台中创建证书

配置HTTPS监听,您可以直接使用SSL证书服务中的证书或者将所需的第三方签发的服务器证书和CA证书上传到传统型负载均衡中。

具体参考: https://help.aliyun.com/document_detail/129370.html


步骤二:创建HTTPS类型的监听

阿里云ASM提供了自定义入口网关服务的功能, 可以通过YAML配置方式定义特定的功能参数。具体可以参考: https://help.aliyun.com/document_detail/165004.html

如下配置中, 通过serviceAnnotation将创建一个HTTPS类型的SLB,  以443为端口的HTTPS请求会在SLB层解密,然后以HTTP请求的形式发送给后端的Pod的端口80。


apiVersion: istio.alibabacloud.com/v1beta1
kind: IstioGateway
metadata:  name: ingressgateway
  namespace: istio-system
spec: ....
  ports:    - name: http-0
      port: 80      protocol: HTTP
      targetPort: 80    - name: https-1
      port: 443      protocol: HTTPS
      targetPort: 80  ....
  serviceAnnotations:    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${YOUR_CERT_ID}"    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: 'https:443'    ....
  serviceType: LoadBalancer



执行结果

通过ASM控制台查看,在控制台选中对应的服务网格实例,左侧导航栏选中ASM网关, 在右侧页面中查看对应的信息。

执行以下命令,通过HTTPS协议访问httpbin服务。


curl -k https://{替换成真实的入口网关IP地址}:443/headers
{  "headers": {    "Accept": "*/*",    "Host": "xxxx",    "Remoteip": "xxxx",    "User-Agent": "curl/7.79.1",    "X-Envoy-Attempt-Count": "1",    "X-Envoy-External-Address": "xxxx",    "X-Forwarded-Client-Cert": "By=spiffe://cluster.local/ns/default/sa/httpbin;Hash=9dd4266bc514d03aae50e174ace52eff7e577d79a14795b532be876139e8922f;Subject=\"\";URI=spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account"}}
相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
6月前
|
缓存 负载均衡 监控
每日一博 - 反向代理、API 网关、负载均衡
每日一博 - 反向代理、API 网关、负载均衡
82 0
|
4月前
|
负载均衡 算法 应用服务中间件
这些负载均衡都解决哪些问题?服务、网关、NGINX?
这些负载均衡都解决哪些问题?服务、网关、NGINX?
100 1
|
3月前
|
Cloud Native 安全 应用服务中间件
云原生网关哪家强:Sealos 网关血泪史
云原生网关哪家强:Sealos 网关血泪史
|
3月前
|
XML JSON 编解码
HTTP Content-Type 类型解析
【1月更文挑战第10天】HTTP Content-Type 类型解析
|
4月前
|
负载均衡 安全 应用服务中间件
Nginx + Tomcat+HTTP/HTTPS实现负载均衡实例
Nginx + Tomcat+HTTP/HTTPS实现负载均衡实例
178 0
|
5月前
|
安全 网络协议 Go
gRPC- HTTP网关 I
gRPC- HTTP网关 I
|
6月前
|
JSON Java 数据格式
http请求传参的几种类型
postman及java应用中对http请求传参的类型总结
83 0
|
6月前
|
Go 数据库 微服务
Go语言微服务框架 - 1.搭建gRPC+HTTP的双重网关服务
大家好,我是六月天天。如题所述,从今天开始,我将和大家一起逐步完成一个微服务框架。
64 1
|
7月前
|
负载均衡 Cloud Native 算法
极致的稳定性和高可用,揭秘 ALB Ingress 云原生网关(下)
极致的稳定性和高可用,揭秘 ALB Ingress 云原生网关(下)
|
7月前
|
弹性计算 容灾 Cloud Native
极致的稳定性和高可用,揭秘 ALB Ingress 云原生网关(上)
极致的稳定性和高可用,揭秘 ALB Ingress 云原生网关(上)