Skip to content

Commit f3c33d5

Browse files
docs: Add troubleshooting guide on Ingress problems (#763)
* docs: Add troubleshooting guide on Ingress problems * Apply suggestions from code review Co-authored-by: Malte Sander <[email protected]> --------- Co-authored-by: Malte Sander <[email protected]>
1 parent e74fdaf commit f3c33d5

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

docs/modules/nifi/pages/troubleshooting/index.adoc

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,56 @@ spec:
1818
sizeLimit: 1Gi
1919
name: log
2020
----
21+
22+
== `HTTP ERROR 400 Invalid SNI`
23+
24+
You are very likely accessing a NiFi >= 2.0 stacklet using HTTPS to secure its WebUI and an Ingress in front of it.
25+
The URL requested by the ingress-controller (such as nginx) needs to be the FQDN of the nifi service, not only the service name.
26+
You can instruct nginx ingress to use the FQDN by setting the following annotation:
27+
28+
[source,yaml]
29+
----
30+
apiVersion: networking.k8s.io/v1
31+
kind: Ingress
32+
metadata:
33+
annotations:
34+
nginx.ingress.kubernetes.io/backend-protocol: HTTPS
35+
# We need to use the FQDN, so that NiFi has a cert for the host and does not throw
36+
# HTTP ERROR 400 Invalid SNI
37+
nginx.ingress.kubernetes.io/upstream-vhost: "nifi.default.svc.cluster.local"
38+
name: nifi-ingress
39+
spec:
40+
ingressClassName: nginx
41+
rules:
42+
- host: nifi.my.corp
43+
http:
44+
paths:
45+
- backend:
46+
service:
47+
name: nifi
48+
port:
49+
number: 8443
50+
path: /
51+
pathType: Prefix
52+
# ...
53+
----
54+
55+
For details please read on https://medium.com/@chnzhoujun/how-to-resolve-sni-issue-when-upgrading-to-nifi-2-0-907e07d465c5[this article].
56+
57+
== `authorization_request_not_found` when using multiple NiFi nodes
58+
59+
In case you are using multiple NiFi nodes and OpenID connect as authentication method, it is important that a client (such as your Browser) always accesses the same NiFi instance.
60+
Otherwise the `authorization_request_not_found` error is returned.
61+
62+
If you are using an nginx ingress, you can achieve this with the following annotations:
63+
64+
[source,yaml]
65+
----
66+
apiVersion: networking.k8s.io/v1
67+
kind: Ingress
68+
metadata:
69+
annotations:
70+
nginx.ingress.kubernetes.io/affinity: "cookie"
71+
nginx.ingress.kubernetes.io/session-cookie-name: "route"
72+
nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
73+
----

0 commit comments

Comments
 (0)