zna*_*nat 4 kubernetes google-kubernetes-engine
我想通过一个入口公开各种服务。
rules:
- http:
paths:
# The path is the URL prefix for the service, e.g. /api/* or just /*
# Note that the service will receive the entire URL with the prefix
- path: /service1/*
backend:
serviceName: service1
servicePort: 5000
- path: /service2/*
backend:
serviceName: service2
servicePort: 5000
Run Code Online (Sandbox Code Playgroud)
问题是包括前缀在内的整个URL都传递给了基础服务,因此所有请求都返回404错误:service1
而api不响应/service1/some/path
而是直接响应/some/path
如何为基础服务指定前缀?
更新
我尝试如下使用rewrite-target。请求被发送到rasa-nlu
服务,但是它们都触发404,因为rasa-nlu
仍然会收到请求/nlu
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /nlu
backend:
serviceName: rasa-nlu
servicePort: 5000
Run Code Online (Sandbox Code Playgroud)
这可能是您要寻找的;
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
ingress.kubernetes.io/rewrite-target: /
name: rewrite
namespace: default
spec:
rules:
- host: rewrite.bar.com
http:
paths:
- backend:
serviceName: echoheaders
servicePort: 80
path: /something
Run Code Online (Sandbox Code Playgroud)
请注意注释以重写目标。
在这里找到这个
归档时间: |
|
查看次数: |
1385 次 |
最近记录: |