Vespa数据平面双向TLS认证配置异常:未强制客户端证书
解决Vespa数据平面强制双向TLS认证的问题
你的核心问题是仅生成证书并完成基础部署,但未在Vespa配置中明确开启强制客户端证书验证,导致双向TLS未生效。以下是具体修复步骤:
修改服务配置,启用强制客户端认证
在你的Vespa服务配置文件(如services.xml)中,为HTTP服务添加明确的TLS强制验证配置:<container id="container" version="1.0"> <http> <server port="8080"> <tls> <certificate-file>data-plane-cert.pem</certificate-file> <private-key-file>data-plane-key.pem</private-key-file> <client-authentication>required</client-authentication> <!-- 关键:强制要求客户端提供证书 --> <ca-certificate-file>vespa-ca.pem</ca-certificate-file> <!-- 指定验证客户端证书的信任CA --> </tls> </server> </http> </container>注意:
client-authentication必须设置为required,而非默认的optional或不配置,这才会触发强制双向TLS校验。确认证书文件部署路径正确
确保生成的数据平面证书、私钥,以及Vespa根CA证书,已放置在Vespa节点的/opt/vespa/conf/ssl/目录下,或包含在部署包中,保证部署时能同步到所有节点。重新部署并验证效果
执行部署命令更新配置:vespa-deploy prepare vespa-deploy activate部署完成后,用无证书的客户端发起请求,应收到TLS握手失败或
403 Forbidden响应;使用由信任CA签发的客户端证书发起请求,才能正常访问。校验客户端证书有效性
确保客户端使用的证书是由Vespa根CA签发的,若客户端证书来自其他未被信任的CA,即使提供证书也会被拒绝。
内容的提问来源于stack exchange,提问作者Hrithik Raj
相关产品推荐
相关产品推荐

