与外部服务通信相关的配置写在microservice.yaml文件中。
证书配置项写在microservice.yaml文件中,支持统一制定证书,也可以添加tag进行更细粒度的配置,有tag的配置会覆盖全局配置,配置格式如下:
常见的tag如下表:
配置项 | 默认值 | 取值范围 | 是否必选 | 含义 | 注意 |
---|---|---|---|---|---|
ssl.engine | jdk | - | 否 | ssl协议,提供jdk/openssl选择 | 默认为jdk |
ssl.protocols | TLSv1.2 | - | 否 | 协议列表 | 使用逗号分隔 |
ssl.ciphers | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | - | 否 | 算法列表 | 使用逗号分隔 |
ssl.authPeer | false | - | 否 | 是否认证对端 | - |
ssl.checkCN.host | false | - | 否 | 是否对证书的CN进行检查 | 该配置项只对Consumer端,并且使用http协议有效,即Consumser端使用rest通道有效。对于Provider端、highway通道等无效。检查CN的目的是防止服务器被钓鱼,参考标准定义: |
ssl.trustStore | trust.jks | - | 否 | 信任证书文件 | - |
ssl.trustStoreType | JKS | - | 否 | 信任证书类型 | - |
ssl.trustStoreValue | - | - | 否 | 信任证书密码 | - |
ssl.keyStore | server.p12 | - | 否 | 身份证书文件 | - |
ssl.keyStoreType | PKCS12 | - | 否 | 身份证书类型 | - |
ssl.keyStoreValue | - | - | 否 | 身份证书密码 | - |
ssl.crl | revoke.crl | - | 否 | 吊销证书文件 | - |
ssl.sslCustomClass | - | org.apache.servicecomb.foundation.ssl.SSLCustom的实现类 | 否 | SSLCustom类的实现,用于开发者转换密码、文件路径等。 | - |
microservice.yaml文件中启用TLS通信的配置示例如下: