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

非PCF(VSI)平台Spring Boot GemFire客户端连接Pivotal Cloud Cache方案问询

非PCF环境Spring Boot应用对接HTTPS协议PCC服务的方案

完全可以实现连通,整体配置逻辑和你用gfsh访问HTTPS PCC的逻辑一致,只需要给Spring Boot的Geode客户端配置正确的SSL信任规则、PCC服务地址、身份认证信息即可,具体操作步骤如下:

前置准备

你需要先从可正常访问的gfsh配置或者PCC服务密钥中获取以下信息:

  • PCC服务的HTTPS locator访问地址与端口
  • PCC服务端证书(公共CA签发的证书可省略,自签名证书必须获取)
  • PCC服务的身份认证凭据(用户名+密码)

核心配置步骤

1. 导入PCC证书到Java信任库

如果PCC用的是自签名证书,需要先将证书导入到应用使用的Java信任库中,执行命令:

keytool -import -alias pcc-server -file <PCC证书文件路径>.crt -keystore <信任库存储路径>.jks -storepass <信任库密码>

如果使用JDK默认的全局信任库,路径为$JAVA_HOME/jre/lib/security/cacerts,默认密码为changeit。

2. 补充Spring Boot应用配置

因为你已经使用了@ClientCacheApplication注解,只需要在application.yml(或application.properties)中补充以下配置即可:

spring:
  data:
    gemfire:
      # 配置PCC的locator地址,多个地址用逗号分隔
      locators: <PCC的locator域名>[<HTTPS端口>]
      # 开启客户端SSL配置
      ssl:
        enabled: true
        truststore:
          location: classpath:<你的信任库文件名>.jks
          password: <信任库密码>
          type: JKS
      # 配置PCC身份认证信息
      security:
        username: <PCC访问用户名>
        password: <PCC访问密码>
      # 关闭PCF环境自动探测,避免拉取不存在的VCAP_SERVICES环境变量报错
      pcf:
        enabled: false

3. 自定义配置适配特殊场景(可选)

如果你的证书逻辑有特殊要求,不想用全局配置,也可以通过实现ClientCacheConfigurer接口手动注入客户端参数:

@Configuration
public class PccClientCustomConfig implements ClientCacheConfigurer {
    @Override
    public void configure(String beanName, ClientCacheFactoryBean clientCacheFactoryBean) {
        Properties gemfireProps = new Properties();
        // 开启全组件SSL
        gemfireProps.setProperty("ssl-enabled-components", "all");
        gemfireProps.setProperty("ssl-truststore", "/本地/信任库/绝对路径.jks");
        gemfireProps.setProperty("ssl-truststore-password", "你的信任库密码");
        // 配置认证参数
        gemfireProps.setProperty("security-client-auth-init", "org.apache.geode.security.templates.UserPasswordAuthInit.create");
        gemfireProps.setProperty("security-username", "PCC用户名");
        gemfireProps.setProperty("security-password", "PCC密码");
        clientCacheFactoryBean.setProperties(gemfireProps);
    }
}

连通性验证

  1. 启动应用后查看日志,没有SSL握手失败、认证失败、locator连接超时的报错即为基础连通成功
  2. 可以注入GemfireTemplate执行简单的put/get操作,验证数据读写正常即可

常见注意事项

  • 要确保你的独立VSI服务器的网络出站策略放开了到PCC服务HTTPS端口的访问,权限和你正常访问PCC的gfsh所在环境一致
  • 不要遗漏关闭PCF环境自动探测的配置,否则Spring Data Geode默认会去读取PCF环境变量,找不到就会启动失败
  • 如果PCC有多个locator节点,全部配置到locators参数中即可实现高可用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:54:02