GKE Ingress 不遵守重写规则

sta*_*eng 5 kubernetes google-kubernetes-engine

在 Google 容器引擎上运行集群。

希望它尊重重写规则。运行调试回显服务器,它显示它不遵守 kubernetes ingress docs 中记录的 http-rewrite 规则。

在 minikube 上本地工作就好了。realpath尽管重写是在匹配后剥离,但该参数仍然附加了调试。期望/foo/bar/vs /debug/foo/bar.

随附的

网址 + 回复

http://homes.stanzheng.com/debug/foo/bar

CLIENT VALUES:
client_address=10.12.2.1
command=GET
real path=/debug/foo/bar
query=nil
request_version=1.1
request_uri=http://homes.stanzheng.com:8080/debug/foo/bar

SERVER VALUES:
server_version=nginx: 1.10.0 - lua: 10001

HEADERS RECEIVED:
accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
accept-encoding=gzip, deflate
accept-language=en-US,en;q=0.8
connection=Keep-Alive
cookie=__cfduid=dfd6a6d8c2a6b361a3d72e3fc493295441494876880; _ga=GA1.2.5098880.1494876881
host=homes.stanzheng.com
upgrade-insecure-requests=1
user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36
via=1.1 google
x-cloud-trace-context=1586885dcac2d537189444861a8a462c/1232314719683944914
x-forwarded-for=204.154.44.39, 35.190.78.5
x-forwarded-proto=http
BODY:
-no body in request-
Run Code Online (Sandbox Code Playgroud)

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: rewrite
  annotations:
    ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: minikube.homes
    http:
      paths:
      - path: /debug/*
        backend:
          serviceName: echoserver
          servicePort: 8080
Run Code Online (Sandbox Code Playgroud)

Jan*_*art 1

rewrite-targetGoogle Container Engine Ingress 不支持。请参阅此页面了解功能比较:

https://github.com/kubernetes/ingress/blob/master/docs/annotations.md

  • 链接页面是404 (4认同)