kubernetes - Kubernetes:auth-tls-verify-client 是否独立于 TLS 工作?
问题描述
在 Kubernetes 中,要启用 client-certificate authN,可以在 ingress 中使用注解 nginx.ingress.kubernetes.io/auth-tls-verify-client。即使我没有在该入口中进行 TLS 终止,客户端证书身份验证也可以工作吗?例如,在这个ingress中,如果我从 ingress 中删除 tls 块,client-cert authN 是否仍然有效?
tls:
- hosts:
- mydomain.com
secretName: tls-secret
(更多信息:我有两个用于同一主机的入口,一个具有 TLS 部分,另一个具有特定 api-path 的规则,并且具有客户端证书部分但没有 TLS 部分)。
此外,如果请求是在http
端点(不是https
)上发送的,我观察到即使注释值设置为,客户端证书也会被忽略on
。这是记录在案的行为吗?
解决方案
如果您按照描述定义两个入口,则除非您将 auth-tls-verify-client 指定为可选,否则将需要证书。请参阅评论中提到的文档。
如果要进行客户端证书身份验证,还需要 TLS。客户端证书在 TLS 握手期间使用,这就是为什么为一个入口指定客户端证书适用于所有主机相同的地方(例如www.example.com)
推荐阅读
- vba - VBA Excel 无法更改绘图标题的布局
- javascript - 选中时 React Set Class Active
- python - 为数据框创建日期列
- state - 分层状态机 (HSM) 当前状态
- google-calendar-api - Google Calendar API,缺少事件通知
- javascript - Threejs - 将相机旋转 90 度,而不是物体
- apache-spark - 如何将 spark 参数传递给 dataproc 工作流模板?
- elasticsearch - 使用参数搜索时结果看起来不正确
- ios - 带有子视图的 MVVM 设计
- ios - 以编程方式创建的 UITextField 不加载文本 IOS swift