![](/img/trans.png)
[英]How to redirect from http to https automatically in kubernetes_ingress_v1 with Google compute cloud?
[英]how to setup yaml ingress in google cloud with redirect
我正在使用入口和负载平衡器在 Google Cloud 中设置环境。
我知道如何设置主机和路径,但是当用户访问特定http://example.com/
时我不知道如何http://example.com/en
。
笔记:
http
=> https
/
=> /en
更新
我添加了 app-root: /en
(但它什么也没做)。
这是我目前的 yaml:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: gce
kubernetes.io/ingress.global-static-ip-name: our-frontend-static-ip
networking.gke.io/managed-certificates: example-certificate
appgw.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/app-root: /en
name: example-ingress
namespace: default
spec:
rules:
- host: anotherexample.com
http:
paths:
- backend:
serviceName: anotherexample-service
servicePort: 80
- host: example.com
http:
paths:
- path: /nl
backend:
serviceName: example-nl-service
servicePort: 80
- path: /en
backend:
serviceName: example-en-service
servicePort: 80
So, there are 2 hosts in my yaml and I want: when the url is correct for 1 of the hosts: example.com
it must go to example.com/en
(this is for Multilanguage purposes)
在从入口同步更改回来后,我们可以更改负载均衡器禁令中的设置。
Kubernetes 支持多个互不相同的 Ingress Controller。 例如,您正在尝试使用Ingress GCE ,并且还有一个流行的Nginx Ingress 。
您的用例中的主要问题是Ingress GCE
不支持重写。 可以在此处找到有关此功能的持续功能请求。
为了能够使用重写,您需要部署 Nginx 入口 Controller 并在yaml
中切换注释:
kubernetes.io/ingress.class: "gce"
至:
kubernetes.io/ingress.class: "nginx"
可以帮助您解决此问题的资源如下:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.