TLSContext
您可以将 Ambassador 配置为使用 a或 tlsModule
资源终止 TLS 。要使用您创建的密钥简单地终止 TLS,您可以像这样配置它们
tls Module
:
---
apiVersion: ambassador/v1
kind: Module
name: tls
config:
server:
enabled: true
secret: ambassador-tls-secret
TLSContext
:
---
apiVersion: ambassador/v1
kind: TLSContext
name: ambassador
secret: ambassador-tls-secret
hosts: ["*"]
在配置其中任何一个之后,Ambassador 应该注意到ambassador-tls-secret
您创建并使用证书进行 tls 终止。
envoy.json
您可以通过检查大使容器中的配置文件来验证大使是否已正确配置
kubectl exec -it {AMBASSADOR_POD_NAME} -- cat envoy/envoy.json
如果 Ambassador 已正确配置,您应该会看到已配置的 Envoytls_context
和如下命名的侦听器ambassador-listener-8443
:
"tls_context": {
"common_tls_context": {
"tls_certificates": [
{
"certificate_chain": {
"filename": "/ambassador/snapshots/default/secrets-decoded/ambassador-certs/66877DCC8C7B7AF190D3510AE5B4BFC71FADB308.crt"
},
"private_key": {
"filename": "/ambassador/snapshots/default/secrets-decoded/ambassador-certs/66877DCC8C7B7AF190D3510AE5B4BFC71FADB308.key"
}
}
]
}
},
"use_proxy_proto": false
}
],
"name": "ambassador-listener-8443"
如果您不这样做,那么大使出于某种原因拒绝了您的配置。检查大使容器的日志,确保您只有一个 tlsModule
或 TLSContext
已配置,检查是否service_port
已在大使模块中配置,并确保您拥有正确的 Ambassador_id 。