当前位置: 首页 > news >正文

生活分类网站建设湛江市国外网站建设报价

生活分类网站建设,湛江市国外网站建设报价,wordpress 视频 去广告,大型门户网站系统证书准备#xff1a;springboot集成kafka 消费者实现 如何配置是ssl方式连接的时候需要进行证书的转换。原始的证书是pem, 或者csr方式 和key方式的时候需要转换#xff0c;因为kafka里面是jks 需要通过openssl进行转换。 证书处理#xff1a; KeyStore 用于存储客户端的证…证书准备springboot集成kafka 消费者实现 如何配置是ssl方式连接的时候需要进行证书的转换。原始的证书是pem, 或者csr方式 和key方式的时候需要转换因为kafka里面是jks 需要通过openssl进行转换。 证书处理 KeyStore 用于存储客户端的证书和私钥用于客户端身份验证。TrustStore 用于存储受信任的根证书或证书链用于验证服务器的身份。 合并一下证书 cat your_cert.pem your_key.key test.pem 合并证书和私钥为一个 PKCS12 文件 cat your_cert.pem your_key.key combined.pem openssl pkcs12 -export -in combined.pem -out client.p12 -name your_alias 2将 PKCS12 文件导入到 Java KeyStore 中 keytool -importkeystore -srckeystore client.p12 -srcstoretype PKCS12 -destkeystore client.jks -deststoretype JKS要生成 truststore.jks 文件您需要导入服务器的根证书或者服务器的证书链。这样您的客户端应用程序就可以验证与服务器建立的 SSL 连接。 下面是生成 truststore.jks 的步骤 获取服务器的根证书或证书链。您可以使用之前提到的 openssl s_client 命令来获取证书链。openssl s_client -connect 你的连接域名 -showcerts 将根证书或证书链保存为 .pem 文件。 使用 keytool 命令将根证书或证书链导入到 truststore.jks 文件中 keytool -importcert -file your_root_cert.pem -alias root_alias -keystore truststore.jks 项目集成 maven集成 dependencygroupIdorg.springframework.kafka/groupIdartifactIdspring-kafka/artifactIdversion2.5.5.RELEASE/version/dependency nacos配置 spring:kafka:bootstrap-servers: SSL://connectedca.com:443 ##换成你自己的连接ssl:protocol: TLS ###3这三个密码是你证书配置的时候设置的密码trust-store-password: a123456key-store-password: a123456key-password: a123456consumer:group-id: producer:topic: *.event ##换成你自己的topic 核心配置 import lombok.extern.slf4j.Slf4j; import org.apache.kafka.clients.admin.AdminClientConfig; import org.apache.kafka.clients.consumer.ConsumerConfig; import org.apache.kafka.common.serialization.StringDeserializer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.Resource; import org.springframework.core.io.ResourceLoader; import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory; import org.springframework.kafka.core.DefaultKafkaConsumerFactory; import org.springframework.kafka.core.KafkaAdmin; import org.springframework.kafka.listener.SeekToCurrentErrorHandler; import org.springframework.kafka.support.serializer.ErrorHandlingDeserializer; import org.springframework.kafka.support.serializer.JsonDeserializer;import java.util.HashMap; import java.util.Map; Slf4j Configuration public class KafkaConfiguration {AutowiredC3ConfigProperties c3ConfigProperties;Autowiredprivate KafkaConfig kafkaProperties;Autowiredprivate ResourceLoader resourceLoader;Beanpublic KafkaAdmin kafkaAdmin() {Map String, Object configs new HashMap ();configs.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaProperties.getBootstrapServers());return new KafkaAdmin(configs);}Beanpublic DefaultKafkaConsumerFactory String, String consumerFactory() {Map String, Object consumerConfig new HashMap ();consumerConfig.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaProperties.getBootstrapServers());consumerConfig.put(ConsumerConfig.GROUP_ID_CONFIG, newbie-car-owner-data-sync);consumerConfig.put(ConsumerConfig.CLIENT_ID_CONFIG, newbie-car-owner-data-sync);consumerConfig.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);consumerConfig.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);// 设置值的反序列化器为 ErrorHandlingDeserializer2并配置类型信息consumerConfig.put(ErrorHandlingDeserializer.VALUE_DESERIALIZER_CLASS, JsonDeserializer.class);consumerConfig.put(JsonDeserializer.USE_TYPE_INFO_HEADERS, false); // 启用类型信息头consumerConfig.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, earliest);consumerConfig.put(JsonDeserializer.VALUE_DEFAULT_TYPE, *.KafkaC3MsgListener); // 设置默认类型信息consumerConfig.put(JsonDeserializer.TRUSTED_PACKAGES, *.KafkaC3MsgListener); // 替换为你的实际包名String pemUrl ;String csrUrl ;if (c3ConfigProperties.getEnvironment().equals(uat)) {pemUrl file/uat/kafka/client.jks;csrUrl file/uat/kafka/truststore.jks;} else if (c3ConfigProperties.getEnvironment().equals(pre)) {pemUrl file/pre/kafka/client.jks;csrUrl file/pre/kafka/truststore.jks;} else if (c3ConfigProperties.getEnvironment().equals(prod)) {pemUrl file/prod/kafka/client.jks;csrUrl file/prod/kafka/truststore.jks;}try {// 获取证书资源 容器部署一定要用这种方式读取文件要不然会报错或者使用挂载Resource pemResource resourceLoader.getResource(classpath:pemUrl);Resource csrResource resourceLoader.getResource(classpath:csrUrl); // 获取证书文件的路径String keyStorePath pemResource.getFile().getAbsolutePath();String trustStorePath csrResource.getFile().getAbsolutePath();consumerConfig.put(ssl.keystore.location, keyStorePath);consumerConfig.put(ssl.truststore.location, trustStorePath);}catch (Exception e){log.error(Resource file error:{},e.getMessage());}consumerConfig.put(security.protocol, SSL);consumerConfig.put(ssl.truststore.password, kafkaProperties.getTrustStorePassword());consumerConfig.put(ssl.keystore.password, kafkaProperties.getKeyStorePassword());consumerConfig.put(ssl.key.password, kafkaProperties.getKeyPassword());return new DefaultKafkaConsumerFactory (consumerConfig);}Beanpublic ConcurrentKafkaListenerContainerFactory String, String kafkaListenerContainerFactory() {ConcurrentKafkaListenerContainerFactory String, String factory new ConcurrentKafkaListenerContainerFactory ();factory.setConsumerFactory(consumerFactory());factory.setConcurrency(3); // 设置并发消费者数量factory.setErrorHandler(new SeekToCurrentErrorHandler()); // 错误处理器return factory;}Beanpublic KafkaC3MsgListener kafkaC3MsgListener() {return new KafkaC3MsgListener();}}注入配置 import lombok.Data; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration;Data Configuration public class KafkaConfig {Value(${spring.kafka.bootstrap-servers})private String bootstrapServers;Value(${spring.kafka.consumer.group-id})private String groupId;Value(${spring.kafka.producer.topic})private String topic;Value(${spring.kafka.ssl.trust-store-password})private String trustStorePassword;Value(${spring.kafka.ssl.key-store-password})private String keyStorePassword;Value(${spring.kafka.ssl.key-password})private String keyPassword;}能够看到这个配置就成功了表示 然后在监听处理消息即可 ————没有与生俱来的天赋都是后天的努力拼搏我是小杨谢谢你的关注和支持
http://www.w-s-a.com/news/497161/

相关文章:

  • 中学生制作的网站常平哪里有招计算机网站开发的
  • 原创网站模版苏州响应式网站建设
  • 做海报在哪个网站可以找素材网址申请注册方法
  • 网站建设分哪些类别别人做的网站不能用
  • 做网站网站会怎么样全国高校校园网站联盟建设
  • 整站下载器 做网站地图地产项目网站设计
  • 创意设计网站公司手机wap网站建设多少钱
  • 甘肃省第八建设集团公司网站seo高级优化方法
  • 精美的商城网站介绍最多人用的wordpress子主题
  • 检察门户网站建设情况俄外长抵达北京
  • 老电脑做网站服务器网站在线留言如何做
  • 南宁广告公司网站建设小程序源码破解
  • 沛县做网站xlec网站建设开发方式包括哪些方面
  • 山西网站建设 哪家好四川城乡和建设厅网站
  • 有瀑布流的网站小型商城网站
  • 百石网怎么做网站二次开发软件
  • 网站域名是什么东西制作网页哪家好
  • 合肥网站建设团队简述网站内容管理流程
  • 网站广告是内容营销吗wordpress增加背景图片
  • 网站建设技术jsp课程设计响应式布局网站开发
  • 东莞网站排名优化seo套路网站怎么做的
  • 我做网站网络建站一般多少钱
  • 如何快速提升网站关键词排名房地产网站开发毕业设计
  • 做网站 提交源码 论坛sem分析是什么意思
  • 网站建设与部署阿里云大学百度付费推广有几种方式
  • 作品集怎么做网站个人简历模板免费下
  • 工业网站素材重庆关键词自动排名
  • 拖拽式网站建设费用微网站怎么做的好名字
  • 长沙电信网站备案谷歌推广怎么做最有效
  • 网站建设与管理总结报告华为开发者联盟