使用Spring Sleuth Zipkin配置基本身份验证

时间:2019-03-05 11:01:49

标签: spring spring-cloud-sleuth zipkin

我正在尝试配置我的spring boot应用程序以登录到zipkin服务器。问题在于该服务器受代理(具有基本身份验证)保护,我找不到描述如何使用spring-sleuth配置授权的文档。

我尝试使用这种配置:

spring.zipkin.baseUrl: http://user:password@zipkin-server:9411

但未成功,日志显示:

ZipkinRestTemplateWrapper    : Created POST request for "http://user:password@zipkin-server:9411/api/v2/spans"
ZipkinRestTemplateWrapper    : Setting request Accept header to [text/plain, application/json, application/*+json, */*]
ZipkinRestTemplateWrapper    : Writing [[B@46d92b65] as "application/json" using [org.springframework.http.converter.ByteArrayHttpMessageConverter@53804b23]
ZipkinRestTemplateWrapper    : POST request for "http://user:password@zipkin-server:9411/api/v2/spans" resulted in 401 (Unauthorized); invoking error handler

我尝试过使用curl,并且可以使用。

有人已经成功配置了spring-sleuth身份验证吗?

1 个答案:

答案 0 :(得分:1)

对于基本身份验证,用户名和密码必须作为HTTP标头Authorization的一部分发送。标头值是根据字符串username:password的Base64编码计算的。因此,如果用户名是abcd,密码是1234,则标头将看起来像这样(使用的帽子:UTF-8 )。

授权:基本YWJjZDoxMjM0

Sleuth云项目提供ZipkinRestTemplateCustomizer来配置用于与Zipkin服务器通信的RestTemplate

请参考相同的文档: https://cloud.spring.io/spring-cloud-sleuth/reference/html/#sending-spans-to-zipkin

注意:Base64编码是可逆的,因此基本身份验证凭据不安全。 HTTPS通信应与基本身份验证一起使用。