kubernetes - Kubernetes 入口重定向和重写
问题描述
快速提问,因为我确信它很容易解决,但似乎无法弄清楚!
我们有一个在www.awesomeapp.com上运行的站点——所有站点都在入口路由上运行良好
但是我还想将路由域重定向到www.awesomeapp.com例如 awesomeapp.com => www.awesomeapp.com
我添加了这个注释 nginx.ingress.kubernetes.io/permanent-redirect: https://www.awesomeapp.com
再次一切正常。
我的问题是如何也添加路径。例如
用户进入 awesomeapp.com/myawesomepage 我想要的是它不仅重定向而且附加路径所以它最终像这样
www.blahblah.com/myawesomepage
我添加了这个 ingress.kubernetes.io/rewrite-target: /$1$2 但这不起作用,并且与此结合使用 - path: /(/|$)(.*)
完整的 yaml 配置如下:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: root-routing
labels:
app: awesomeapp
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/permanent-redirect: https://www.awesomeapp.com
ingress.kubernetes.io/rewrite-target: /$1$2
spec:
tls:
- hosts:
- awesomeapp.com
secretName: awesomeapp-com-tlscert
rules:
- host: awesomeapp.com
http:
paths:
- path: /(/|$)(.*)
pathType: Prefix
backend:
service:
name: awesomeapp
port:
number: 80
谢谢约翰
解决方案
nginx.ingress.kubernetes.io/server-snippet: | 返回 301 https://www.awesomeapp.com$request_uri;
推荐阅读
- vue.js - 回到父组件时vue动态组件上的数据丢失
- nginx - 如何在 nginx 中使用一个文件提供不同的 url
- artifactory - 如果它们的文件存在于磁盘上,如何检查 Artifactory 中的所有工件?
- php - 是否有(智能)方式通过网络表单发送数组(完整!)?
- cryptography - 由于缺少公钥,使用 rvm 安装 ruby 时出现问题
- django - Django ORM:至少拥有一个组的所有用户
- node.js - 如何将 gulp browser-sync 与 2 个不同的 docker 容器一起使用?
- html - 如何在 xsl 代码中为一本书创建链接索引
- html - 如何使用引导选择为“选择”多个框制作占位符?
- html - 为什么 text-overflow: ellipsis 不适用于 Firefox 中的 display: inline-flex?