为什么在Istio中使用mTLS从上一个请求转发主机头会返回500?

时间:2019-09-20 07:47:25

标签: istio mtls

因此,我使用了可工作的mTLS服务网格,直到其中一个服务使用某些标头操作逻辑进行了更新。这种逻辑是从服务获得的请求中获取标头,然后将这些标头添加到该服务向另一个服务提出的请求中。

使用此逻辑后,此服务与下一个服务之间的mTLS断开,并且如果我激活PERMISSIVE模式,连接将照常工作。

然后我去了该服务的容器,并向下一个服务发出了curl请求,但没有Host Header,请求通过了。

因此,相同的请求,只是没有Host header的mtls有效,而有host header的则无效。

我想知道发生这种情况的原因。它与mTLS有关,并且两种服务如何相互信任?

谢谢

1 个答案:

答案 0 :(得分:0)

我认为解决此问题的最佳方法是分析标头操作逻辑之前和之后的服务版本之间的差异。

为了转储标题的请求,您可以使用Istio官方文档here中的helper httbin服务器。

您可以找到有关here的使用方法的更多信息。

请告诉我是否有帮助。