[英]Kubernetes Ingress - Automatically validating Certificates issued by Intermedia Certificate
我目前正在 Kubernetes 中设置我的 Ingress。 我们确实需要启用 SSL/TLS 并验证证书。 为此,我们有一个根 ca,它为中间 ca 颁发证书。 中介机构再次为我们所有的客户颁发证书。 客户端证书确实具有主题名称“设备”。
中间 ca 证书存储在 kubernetes 密钥中。 现在我想将入口配置为自动验证来自客户端的所有传入请求,并检查他们的证书确实是由我们的中介机构颁发的。 此外,我想知道是否可以验证客户端证书的主题名称。
你们知道这是否可能,还是我需要将此逻辑添加到我的应用程序中?
我不知何故无法找到任何相关信息。 因此,如果您能在这里帮助我,那就太好了。
非常感谢提前!!
来自柏林的问候,大卫
根据我的理解,您计划使用证书验证
可以通过向 Ingress 资源添加额外的注释来启用客户端证书身份验证。 在开始之前,您必须具有以下证书设置:
你可以参考这个入口设置并试一试:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
# Enable client certificate authentication
nginx.ingress.kubernetes.io/auth-tls-verify-client: "on"
# Create the secret containing the trusted ca certificates
nginx.ingress.kubernetes.io/auth-tls-secret: "default/ca-secret"
# Specify the verification depth in the client certificates chain
nginx.ingress.kubernetes.io/auth-tls-verify-depth: "1"
# Specify an error page to be redirected to verification errors
nginx.ingress.kubernetes.io/auth-tls-error-page: "http://example.io/error-cert.html"
# Specify if certificates are passed to upstream server
nginx.ingress.kubernetes.io/auth-tls-pass-certificate-to-upstream: "true"
name: nginx-test
namespace: default
spec:
ingressClassName: nginx
rules:
- host: mydomain.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: http-svc
port:
number: 80
tls:
- hosts:
- mydomain.com
secretName: tls-secret
阅读更多: https://kubernetes.github.io/ingress-nginx/examples/auth/client-certs/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.