我无法找到有关在运行"kubectl port-forward"命令时集群的pod和locahost之间的连接创建的任何信息.
它似乎使用支持加密的" socat "库,但我不确定kubernetes是否实际使用它.
我正在尝试为一个使用 SSL 的外部 HTTP API 创建一个 FeignClient。斗争是 - 如何用我的逻辑修改默认的 Spring FeignClient,在这种情况下是 SSL 连接工厂。所以基本上我想保留 Spring 自动为 FeignClients 做的所有好事,比如 Hystrix、Sleuth 跟踪等,并让它与我的 SSL 工厂一起工作。
将不胜感激任何建议。
这是我尝试做的:
我尝试在 ComponentScan 之外提供自定义 @Configuration:
@Configuration
public class CustomFeignConfiguration
{
@Bean
public Feign.Builder feignBuilder()
{
Client trustSSLSockets = new Client.Default(
TrustingSSLSocketFactory.get("server1"),
new NoopHostnameVerifier());
log.info("feignBuilder called");
return Feign.builder().client(trustSSLSockets);
}
...
}
Run Code Online (Sandbox Code Playgroud)
通过注解让 FeignClient 使用
@FeignClient(name = "sslClient", configuration = CustomFeignConfiguration.class, url = "https://...")
Run Code Online (Sandbox Code Playgroud)
其中“TrustingSSLSocketFactory”的实现与此类似。
现在,如果我在 Spring 应用程序中注入我的客户端,我可以看到“feignBuilder”被调用并且它成功加载了我的密钥。问题是创建的客户端实际上并未将指定的 SSLFactory 用于 createSocket 调用。所以我得到:
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: …Run Code Online (Sandbox Code Playgroud) 我很高兴在最新的Apache Camel版本2.18.0中通过DSL看到hystrix的支持.我的问题是 - 现在如何命名hystrix命令?
让我们说如果我写 -
from("direct:start").hystrix().to("log:out")
Run Code Online (Sandbox Code Playgroud)
Hystrix仪表板将注册"hystrix1"命令并显示它的属性,这是我想要改变的点.
Apache Camel的文档说 - "CommandKey - 用于识别hystrix命令.此选项无法配置但被锁定为节点ID以使命令唯一." 在他们的代码中我看到他们使用路由的命名策略,所以它可能有些可定制,我只是无法弄清楚如何.
提前致谢!
apache-camel ×1
feign ×1
hystrix ×1
java ×1
kubernetes ×1
spring-boot ×1
spring-cloud ×1
ssl ×1