I spent the day searching the intarWebz as well as setting up the project to run locally.
When I ran the project locally I was able to reproduce the error by entering http://localhost:8443/ in my browser.
Bad Request
This combination of host and port requires TLS.
I have changed my ingress definition to include the following annotation:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
Doing so results in a 404 error.
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Mon Mar 14 22:37:10 UTC 2022
There was an unexpected error (type=Not Found, status=404).
Looking at the logs I see this:
2022-03-14 21:53:18.836 DEBUG 8 --- [nio-8443-exec-4] o.apache.catalina.valves.RemoteIpValve : Incoming request /dev03/poc-aks-camunda-run with originalRemoteAddr [10.56.32.63], originalRemoteHost=[10.56.32.63], originalSecure=[true], originalScheme=[https], originalServerName=[aks-docs-dev-api.autolendingapps.net], originalServerPort=[443] will be seen as newRemoteAddr=[10.80.118.127], newRemoteHost=[10.80.118.127], newSecure=[true], newScheme=[https], newServerName=[aks-docs-dev-api.autolendingapps.net], newServerPort=[443]
Why is the request going to port 443? I thought I had set up Tomcat to use port 8443 and I see that it is listening on port 8443 in the logs (as shown in first post) ???
Ingress file:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-poc-simple-camunda-app
namespace: dev03
annotations:
BuildNumber: $(Build.BuildNumber)
SourceBranchName: $(Build.SourceBranchName)
kubernetes.io/ingress.class: api
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
labels:
app: poc-poc-simple-camunda-app
role: api
target: release
spec:
rules:
- host: aks-my-hostname-here.net
http:
paths:
- path: /dev/poc-simple-camunda-app(/|$)(.*)
pathType: Prefix
backend:
service:
name: poc-poc-simple-camunda-app
port:
number: 8443 # also tried using 443
tls:
- secretName: aks-myhostnameherenet