将通配符域路由到 nginx ingress 中的不同路径
routing wildcard domain to different paths in nginx ingress
我如何实现与此类似的东西。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/rewrite-target: /c/{word-maching-wildcard}
name: some-route
namespace: prod
spec:
rules:
- host: "*.example.com" # {hello}.example.com -> hello.example.com/hello
http:
paths:
- backend:
serviceName: svc
servicePort: 8080
path: /
有什么方法可以捕获子域中的匹配词并在路由到上游服务之前将其附加到路径中。
来自官方文档:
Regular expressions and wild cards are not supported in the
spec.rules.host
field. Full hostnames must be used.
但是我发现了类似的问题,建议编写自己的控制器,写出在适当的 proxy_pass
或重定向行中使用 $http_host
的 nginx 配置。
阅读更多:.
我如何实现与此类似的东西。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/rewrite-target: /c/{word-maching-wildcard}
name: some-route
namespace: prod
spec:
rules:
- host: "*.example.com" # {hello}.example.com -> hello.example.com/hello
http:
paths:
- backend:
serviceName: svc
servicePort: 8080
path: /
有什么方法可以捕获子域中的匹配词并在路由到上游服务之前将其附加到路径中。
来自官方文档:
Regular expressions and wild cards are not supported in the
spec.rules.host
field. Full hostnames must be used.
但是我发现了类似的问题,建议编写自己的控制器,写出在适当的 proxy_pass
或重定向行中使用 $http_host
的 nginx 配置。
阅读更多: