I have a Kong Ingress controller installed via Helm with the following parameters:
helm install kong kong/ingress \
--version 0.20.0 \
--create-namespace \
--namespace kong \
--set admin.enabled=true \
--set admin.http.enabled=true \
--set deployment.hostNetwork=true \
--set controller.ingressController.env.feature_gates="FillIDs=true,RewriteURIs=true"
I have the following Ingress manifest.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: documentserver
namespace: "onlyoffice"
annotations:
konghq.com/strip-path: "true"
spec:
ingressClassName: kong
rules:
- host: docs.example.com
http:
paths:
- path: /docs/
pathType: Prefix
backend:
service:
name: documentserver
port:
number: 8888
It works fine when I visit docs.example.com/docs
, and it returns docs.example.com/docs/welcome/
. However, when I visit docs.example.com/docs/
, it becomes docs.example.com/docs//welcome/
.
When I add these annotations:
konghq.com/headers.X-Forwarded-Prefix: "/docs"
konghq.com/rewrite: "/"
I get this response:
Error no Route matched with those values.
How to get rid of the double slash in the URL?