You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Quarkus:8443端口健康端点免mTLS,其余端点强制mTLS

配置Quarkus实现健康端点免mTLS、其余端点强制mTLS的方案

完全可以通过Quarkus的路由级TLS客户端认证配置实现需求,无需额外端口,仅需在现有application.properties中添加路由规则即可。

修改后的完整配置

# Server TLS
quarkus.http.insecure-requests=disabled
quarkus.http.ssl.certificate.key-store-file=tls/keystore.p12
quarkus.http.ssl.certificate.key-store-file-type=PKCS12
quarkus.http.ssl.certificate.key-store-password=123456

# 全局强制所有端点使用mTLS
quarkus.http.ssl.client-auth=required
quarkus.http.ssl.certificate.trust-store-file=tls/truststore.p12
quarkus.http.ssl.certificate.trust-store-password=123456

# 针对健康检查路径豁免mTLS(仅需HTTPS即可访问)
quarkus.http.ssl.client-auth-mode."/q/health/*"=none

配置说明

  • 全局配置quarkus.http.ssl.client-auth=required确保除了指定豁免的路径外,所有端点都强制要求客户端证书认证(mTLS)。
  • quarkus.http.ssl.client-auth-mode."/q/health/*"是路由级覆盖配置:
    • 路径匹配规则/q/health/*会覆盖所有Quarkus健康检查相关端点(包括/q/health/live、/q/health/ready、/q/health等默认路径)。
    • 设置为none表示这些路径仅需HTTPS加密,不需要客户端提供证书即可访问,正好满足Kubernetes探针的访问需求。

验证方式

  • 访问健康端点:使用curl https://<your-host>:8443/q/health/ready,无需携带客户端证书即可返回正常响应。
  • 访问其他受保护端点:比如curl https://<your-host>:8443/api/your-endpoint,若未携带客户端证书会返回403或证书错误,验证mTLS强制生效。

内容的提问来源于stack exchange,提问作者Uros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 16:32:40