与 APM Server 的 SSL/TLS 通信

编辑

如果 APM Server 上启用了SSL/TLS 通信,在配置server_url时,请使用 https 协议。

APM Server 证书身份验证

编辑

默认情况下,当使用 HTTPS 与 APM Server 通信时,代理将通过验证其证书来验证 APM Server 的身份。不建议更改此默认设置,但是可以通过 verify_server_cert 配置进行更改。

如果 APM Server 使用的证书是自签名证书,则需要将同一证书(或签署它的自定义 CA 的根证书)添加到 JVM 的信任存储区。您可以通过在命令行中设置 -Djavax.net.debug=all 来查找使用的信任存储区。通常,它将是 $JAVA_HOME/jre/lib/security/cacerts。例如,您可以使用 keytool 将证书导入信任存储区:keytool -import -alias apm-server-cert -file /path/to/certificate.crt -keystore /path/to/truststore

代理证书身份验证

编辑

如果 APM 服务器上启用了SSL 客户端身份验证,则代理将需要在 HTTPS 握手过程中发送正确的证书。当前 Java 代理上没有配置支持该功能,也没有适用于所有情况的直接选项。一般来说,代理将从 JVM 密钥库发送证书。因此,如果您的 JVM 尚未使用密钥库,请将证书文件和相应的私钥添加到密钥库中,并配置您的 JVM 以使用它。

  -Djavax.net.ssl.keyStore=keystore.p12
  -Djavax.net.ssl.keyStoreType=pkcs12
  -Djavax.net.ssl.keyStorePassword=<password>