Minikube | Ingress Service - Bad Request

1/25/2021

I'm working on a single-node cluster which works fine with docker-compose but the reconfiguration of the same setup using Minikube Ingress Controller gives me a Bad Request response.

Bad Request

Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.

My Ingress looks like this:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nginx-ingress-service
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
  rules:
    - http:
        paths:
          - path: /?(.*)
            pathType: Prefix
            backend:
              service:
                name: emr-cluster-ip-service
                port:
                  number: 443
          - path: /?(.*)
            pathType: Prefix
            backend:
              service:
                name: erp-cluster-ip-service
                port:
                  number: 8069

How to fix this?

-- khatman
kubernetes
kubernetes-ingress
minikube
nginx-ingress

1 Answer

1/25/2021

You are exposing HTTPS service on HTTP ingress, which is not the right thing to do. You might want to do one of the following:

1) Configure TLS-enabled ingress. 2) Configure TLS passthough on ingress object.

In both cases you also need to set nginx.ingress.kubernetes.io/ssl-redirect: "true"

-- Vasili Angapov
Source: StackOverflow