【问题标题】:Can't use curl with Host header with a GKE Ingress不能将 curl 与带有 GKE Ingress 的 Host 标头一起使用
【发布时间】:2019-02-28 22:34:07
【问题描述】:

我在 GKE 集群上部署了一个网站,该网站发布在域 example.com 上,并通过 IP 1.1.1.1 的入口对象暴露在互联网上。
我可以毫无问题地浏览到example.com,但我希望在发出此命令时也能看到我的网站:
curl -verbose --header 'Host: example.com' 1.1.1.1
但相反,我得到的是 Google 的 404 页面。
这是为什么呢?
没有 Cloud Armor 或任何类型的防火墙。
入口配置如下:

kubectl describe ingresses.extensions wordpress-ingress -n examplens
Name:             wordpress-ingress
Namespace:        examplens
Address:          1.1.1.1
Default backend:  web-backend:80 (10.1.2.3:8080)
Rules:
  Host                   Path  Backends
  ----                   ----  --------
  example.com        
                         /*   wordpress-proxy:8081 (<none>)
Annotations:
  ingress.kubernetes.io/target-proxy:     k8s-tp-examplens-examplens-wordpress-ingress--0954ac07ad1bc6
  ingress.kubernetes.io/url-map:          k8s-um-examplens-examplens-wordpress-ingress--0954ac07ad1bc6
  ingress.kubernetes.io/backends:         {"k8s-be-31096--57aec84fb5d3ea3d":"HEALTHY","k8s-be-31366--57aec84fb5d3ea3d":"HEALTHY","k8s-be-31651--57aec84fb5d3ea3d":"HEALTHY","k8s-be-31864--57aec84fb5d3ea3d":"HEALTHY"}
  ingress.kubernetes.io/forwarding-rule:  k8s-fw-examplens-examplens-wordpress-ingress--ef63350eae86dd
Events:           <none>

【问题讨论】:

  • 请分享您的 Ingress 清单文件。如果没有看到,您会期望我们猜测您的完整设置,我不确定您为什么认为这是一个好主意。
  • @AhmetB-Google 感谢 Ahmet,我添加了入口设置。抱歉,我第一次没有包含它,我对 k8s 还很陌生,所以我尽我所能分享我认为相关的所有内容,这显然是不完整的。
  • 描述输出看起来不错。但我建议你分享完整的 YAML。也许也可以试试这个例子:kubernetes.io/docs/concepts/services-networking/ingress/…

标签: google-kubernetes-engine kubernetes-ingress


【解决方案1】:

山姆,

看起来问题是在 URL 映射中定义到您的后端的路径。尝试改用以下命令:

curl -verbose --header 'Host: example.com' http://1.1.1.1/

【讨论】:

  • 感谢爱德华多的回复。我仍然收到 Google 的 404。
猜你喜欢
  • 2019-12-18
  • 2022-12-17
  • 2018-04-03
  • 2019-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多