我正在创建istio服务网格,然后尝试从istio pod调用外部服务。
我按照链接中的步骤操作
https://istio.io/docs/tasks/traffic-management/egress/egress-gateway-tls-origination/直到
2 Verify that your ServiceEntry was applied correctly by sending a request to http://edition.cnn.com/politics.而不是"edition.cnn.com",而是我的服务。
当我尝试在我的pod中做curl时,我得到了下面的错误。
[2020-02-02T10:02:52.465Z] "GET / HTTP/1.1" 503 UF,URX "-" "-" 0 91 150 - "-" "curl/7.58.0" "fafa8680-bdf1-468a-b50f-1a4430707ceb" "service.abc.com" "173.25.13.66:80" outbound|80||service.abc.com - 173.25.13.66:80 10.44.0.6:47544 - default我可以ping到service.abc.com,但是我如何调试这个错误,以及如何获得更多日志以进行分析?由于上面的链接中没有提到为mtls和目标规则创建步骤,所以我没有创建它们。
注意:我没有遇到edition.cnn.com的任何问题,但在使用我的服务时遇到了问题,该服务在mesh外部,并在我公司网络内的另一台服务器上运行。
发布于 2020-02-02 19:14:22
service.abc.com服务仅支持http还是仅支持https,还是同时支持http和https是否配置为将http重定向到https?如果你使用http访问一个端点,如果它既没有监听端口80,也没有将http重定向到https,那么你会得到503。
如果你遵循文档中的所有步骤,直到第5步,并假设service.abc.com是一个https服务,它应该会按预期工作,因为在第5步,即使你正在发送http请求,出口网关也会在向service.abc.com发送请求之前将其转换为https(TLS发起)。
https://stackoverflow.com/questions/60025071
复制相似问题