'400: Bad Request blog page via http/https SSL-enabled k3s deployment

Using nginx-ingress controller and metallb for my loadbalancer in my k3s raspberry pi cluster. Trying to access my blog site but I get white page with 400: Bad Request. I'm using Cloudflare to managed my domain and SSL/TLS mode is on "Full". Created an A name "Blog" and pointed the content to my public external IP. I opened the Loadbalancer IP address on my router exposing 80 and 433. What am I missing. I've been pulling my hair with his issues for days now. Here's the example of my k3s entire deployment

apiVersion: v1
kind: Service
metadata:
  namespace: nginx
  name: nginx-web
  labels:
    app: nginx-web
spec:
  ports:
    # the port that this service should serve on
    - port: 8000
      targetPort: 80
      protocol: TCP
  selector:
    app: nginx-web
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: nginx
  labels:
    app: nginx-web
  name: nginx-web
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx-web
  template:
    metadata:
      namespace: nginx
      labels:
        app: nginx-web
      name: nginx-web
    spec:
      containers:
        - name: nginx-web
          image: nginx:latest

---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nginx-web
  labels:
    app: nginx-web
  namespace: nginx
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
  tls:
    - hosts:
        - blog.example.com
      secretName: blog-example-com-tls
  rules:
    - host: blog.example.com
      http:
        paths:
          - backend:
              service:
                name: nginx-web
                port:
                  number: 80
            path: /
            pathType: Prefix


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source