我正在创建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”。
当我尝试在豆荚内卷曲时,出现以下错误。
[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上没有遇到任何问题,但是在使用我的服务时却遇到了问题,该服务是网格外部的,并且在公司网络内的另一台服务器上运行。
答案 0 :(得分:2)
service.abc.com
服务仅支持http或仅支持https,还是同时支持http和https?是否配置为将http重定向到https?如果您使用http命中一个端点,并且该端点既未侦听端口80,又未将http重定向至https,则您将获得503。
如果按照文档中直到5的所有步骤进行操作,并假设service.abc.com
是https服务,则它应能按预期工作,因为即使在发送第5步,HTTP请求istio出口网关也要进行转换将其发送到https(TLS起源),然后再将请求发送到service.abc.com
。