首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >istio 1.4.8:与AWS负载均衡器一起使用时出现奇怪的400错误

istio 1.4.8:与AWS负载均衡器一起使用时出现奇怪的400错误
EN

Stack Overflow用户
提问于 2020-04-25 07:42:54
回答 1查看 527关注 0票数 2

当我在Istio Gateway负载均衡器后面尝试连接到AWS时,我得到了一个奇怪的400错误。

我在istio-ingresgateway日志中看不到任何活动(即使启用了调试设置),但是当我在ingressgateway pod上运行sysdig时,我看到了奇怪的半随机文本,其中经常包含"QUIT !T"

当我尝试从集群外部通过浏览器或curl发出http请求时,会出现这种情况。

当我尝试在minikubeAzure中发出请求时,相同的Istio配置也可以工作。

我还可以使用相同的AWS lb指向Nginx入口控制器,它工作得很好。

代码语言:javascript
复制
sudo sysdig -s2000 -A -c echo_fds fd.ip=10.1.2.3

有时输出中没有GET请求

代码语言:javascript
复制
------ Read 100B from   10.1.1.3:44404->10.1.2.3:80 (envoy)




QUIT
!T
C
ct>
------ Write 66B to   10.1.1.3:44404->10.1.2.3:80 (envoy)

HTTP/1.1 400 Bad Request
content-length: 0
connection: close

而且,有时这恰好发生在GET请求之前

代码语言:javascript
复制
------ Read 3.39KB from   10.1.1.3:35430->10.1.2.3:80 (envoy)




QUIT
!T
C
atfI>GET /myapp/ HTTP/1.1

我想知道是不是奇怪的字符导致envoy路由不匹配,但我不知道这可能是从哪里来的。

对于这可能是什么有什么建议吗?

有没有调试Istio入口的一般策略?

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2020-06-03 03:48:45

所以我找到了这个问题的答案。请求中的垃圾是一个无关紧要的问题。

有关设置的更多信息:

AWS负载均衡器正在终止TLS,因此它后面的所有流量都通过http端口31380。我已经通过istio设置传递了X-Forwarded-Proto: https报头,所以后端应用程序可以假定流量已经终止了VirtualService流量。

解决方案:

在我的案例中,问题是AWS Target Group设置了Proxy protocol v2: Enabled。关闭此功能解决了问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61419096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档