ERR_TOO_MANY_REDIRECTS 302 与 ELK Operator 7.10.0 使用 Server.basePath
ERR_TOO_MANY_REDIRECTS 302 with ELK Operator 7.10.0 using Server.basePath
我有一个 elasticsearch
和 kibana
版本 7.10.0
在 kubernetes
中使用 elk
运算符的弹性堆栈
每当我输入 link https://monitoring.cloudapp.azure.com/kibana 时,我都会收到此重定向:
https://monitoring.cloudapp.azure.com/kibana/login?next=%2Fkibana%2Fkibana%2Flogin%3Fnext%3D%2Fkibana%2Fkibana%2Flogin%3Fnext%3D%252Fkibana%252Fkibana%
在 Pod
日志中:
"type":"response","@timestamp":"2020-12-23T15:38:27Z","tags":,"pid":7,"method":"get","statusCode":302,"req":{"url":"/kibana/login?next=%2Fkibana%2Fkibana%2Flogin%3Fnext%3D%252Fkibana%252.....
Kibana.yaml
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
name: kibana
spec:
version: 7.10.0
count: 1
elasticsearchRef:
name: elastic-https
http:
service:
spec:
type: ClusterIP
tls:
selfSignedCertificate:
disabled: true
podTemplate:
spec:
containers:
- name: kibana
env:
- name: SERVER_BASEPATH
value: "/kibana"
resources:
requests:
memory: 4Gi
cpu: 1
limits:
memory: 8Gi
cpu: 2
metadata:
annotations:
sidecar.istio.io/rewriteAppHTTPProbers: "true"
kibana.ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: istio
name: kibana-ingress
spec:
rules:
- host: "monitoring.cloudapp.azure.com"
http:
paths:
- path: /kibana/login.*
backend:
serviceName: kibana-kb-http
servicePort: 5601
- path: /kibana
backend:
serviceName: kibana-kb-http
servicePort: 5601
- path: /kibana/*
backend:
serviceName: kibana-kb-http
servicePort: 5601
无法使用隐身 window,每当我执行 kubectl port-forward
时我都会遇到同样的问题 我偶然发现了重定向的同样问题(使用 HTTP
)
> http://localhost:52000/kibana/login?next=%2Fkibana%2Fkibana%2Flogin%3Fnext%
解决办法就是这样加上server.rewriteBasePath:true
---
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
name: kibana
spec:
config:
server.rewriteBasePath: true
并像这样更新 readinessProbe:
podTemplate:
spec:
containers:
- name: kibana
readinessProbe:
httpGet:
scheme: HTTP
path: /kibana
port: 5601
env:
- name: SERVER_BASEPATH
value: "/kibana"
不要忘记超过 1 个副本集,从 / kibana 到 /kibana/login 的重定向不起作用
我有一个 elasticsearch
和 kibana
版本 7.10.0
在 kubernetes
elk
运算符的弹性堆栈
每当我输入 link https://monitoring.cloudapp.azure.com/kibana 时,我都会收到此重定向:
https://monitoring.cloudapp.azure.com/kibana/login?next=%2Fkibana%2Fkibana%2Flogin%3Fnext%3D%2Fkibana%2Fkibana%2Flogin%3Fnext%3D%252Fkibana%252Fkibana%
在 Pod
日志中:
"type":"response","@timestamp":"2020-12-23T15:38:27Z","tags":,"pid":7,"method":"get","statusCode":302,"req":{"url":"/kibana/login?next=%2Fkibana%2Fkibana%2Flogin%3Fnext%3D%252Fkibana%252.....
Kibana.yaml
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
name: kibana
spec:
version: 7.10.0
count: 1
elasticsearchRef:
name: elastic-https
http:
service:
spec:
type: ClusterIP
tls:
selfSignedCertificate:
disabled: true
podTemplate:
spec:
containers:
- name: kibana
env:
- name: SERVER_BASEPATH
value: "/kibana"
resources:
requests:
memory: 4Gi
cpu: 1
limits:
memory: 8Gi
cpu: 2
metadata:
annotations:
sidecar.istio.io/rewriteAppHTTPProbers: "true"
kibana.ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: istio
name: kibana-ingress
spec:
rules:
- host: "monitoring.cloudapp.azure.com"
http:
paths:
- path: /kibana/login.*
backend:
serviceName: kibana-kb-http
servicePort: 5601
- path: /kibana
backend:
serviceName: kibana-kb-http
servicePort: 5601
- path: /kibana/*
backend:
serviceName: kibana-kb-http
servicePort: 5601
无法使用隐身 window,每当我执行 kubectl port-forward
时我都会遇到同样的问题 我偶然发现了重定向的同样问题(使用 HTTP
)
> http://localhost:52000/kibana/login?next=%2Fkibana%2Fkibana%2Flogin%3Fnext%
解决办法就是这样加上server.rewriteBasePath:true
---
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
name: kibana
spec:
config:
server.rewriteBasePath: true
并像这样更新 readinessProbe:
podTemplate:
spec:
containers:
- name: kibana
readinessProbe:
httpGet:
scheme: HTTP
path: /kibana
port: 5601
env:
- name: SERVER_BASEPATH
value: "/kibana"
不要忘记超过 1 个副本集,从 / kibana 到 /kibana/login 的重定向不起作用