【发布时间】:2021-01-13 09:01:00
【问题描述】:
等了大约 1 分钟后我得到了这个错误
Waiting for HTTP-01 challenge propagation: failed to perform self check GET request 'http://jenkins.xyz.in/.well-known/acme-challenge/AoV9UtBq1rwPLDXWjrq85G5Peg_Z6rLKSZyYL_Vfe4I': Get "http://jenkins.xyz.in/.well-known/acme-challenge/AoV9UtBq1rwPLDXWjrq85G5Peg_Z6rLKSZyYL_Vfe4I": dial tcp 103.66.96.201:80: connect: connection timed out
我可以从任何地方(互联网)在浏览器中访问此网址
curl -v http://jenkins.xyz.in/.well-known/acme-challenge/AoV9UtBq1rwPLDXWjrq85G5Peg_Z6rLKSZyYL_Vfe4I
* Trying 103.66.96.201:80...
* Connected to jenkins.xyz.in (103.66.96.201) port 80 (#0)
> GET /.well-known/acme-challenge/AoV9UtBq1rwPLDXWjrq85G5Peg_Z6rLKSZyYL_Vfe4I HTTP/1.1
> Host: jenkins.xyz.in
> User-Agent: curl/7.71.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< cache-control: no-cache, no-store, must-revalidate
< date: Wed, 13 Jan 2021 08:54:23 GMT
< content-length: 87
< content-type: text/plain; charset=utf-8
< x-envoy-upstream-service-time: 1
< server: istio-envoy
<
* Connection #0 to host jenkins.xyz.in left intact
AoV9UtBq1rwPLDXWjrq85G5Peg_Z6rLKSZyYL_VfT4I.EZvkP5Fpi6EYc_-tWTQgvaQxrrbSr2MEJkuXJaywatk
我的设置是:
1. Istio Ingress load balancer running on node (192.168.14.118)
2. I am pointing my external IP and domain jenkins.xyz.in
to 192.168.14.118 through an another load balancer
request -> public IP -> load balancer -> 192.168.14.118
从外面看它工作正常。 但是当我从节点本身/集群内的 pod 尝试这个时,我得到:
$ curl -v http://jenkins.xyz.in/
* About to connect() to jenkins.xyz.in port 80 (#0)
* Trying 103.66.96.201...
我在某处读过发夹
由于我的 kubernetes 节点 IP 和 istio 入口负载均衡器外部 IP 相同,因此请求可能正在循环。
额外:我在裸机上运行 k8s
有什么办法可以解决这个问题吗?
【问题讨论】:
-
嗨@Arfat,你的证书管理器版本是什么?我认为有关于该错误的相关问题github。正如您提到的发夹,我建议尝试使用此工具hairpin proxy 作为解决方法。它是由名为 compumike 的用户在上面的 github issue 中发布的。
-
感谢您的建议。我找到了解决方法。似乎存在已知问题。
标签: kubernetes istio cert-manager