0

Client sends a HTTP POST request with JSON payload and content type "application/json". Backend REST service that is proxied by NGINX (via Ingress Controller in k8s) receives the request with content type "application/xml" and the JSON is converted to a weird XML message. Below is my ingress object which has client auth turned on for mTLS:

kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/auth-tls-verify-client: "on"
    nginx.ingress.kubernetes.io/auth-tls-secret: xyz/xyz-secret
    nginx.ingress.kubernetes.io/auth-tls-verify-depth: "2"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
  name: xyz-ingress
  namespace: xyz
spec:
  ingressClassName: nginx
  rules:
  - host: host_name
    http:
      paths:
      - backend:
          service:
            name: api
            port:
              number: 80
        path: /xyz/api
        pathType: Prefix
  tls:
  - hosts:
    - host_name
    secretName: xyz-secret```
    

This is the request payload in XML received at the backend rest server:

```<.Proxy209 xmlns=""><tenant>xxx</tenant><serviceType>xxx</serviceType></.Proxy209>

The client sends out this JSON:

```{ "tenant": "xxx", "serviceType": "xxx" }```

The JSON is converted to the XML above by NGINX. 
SRH LABS
  • 373
  • 1
  • 2
  • 15

0 Answers0