使用Nginx Ingress Controller在413状态代码上添加自定义响应

我需要配置nginx来发送413状态代码的JSON响应。我已经尝试过了:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: {{ .Chart.Name }}-app2
  annotations:
    kubernetes.io/ingress.class: "nginx"
    ingress.kubernetes.io/server-snippet: |
      proxy_intercept_errors on;
      error_page 413 /413.json;
      location /413.json {
        return 413 '{"error": {"status_code": 413,"status": "TEST"}}';
      }
spec:
  tls:
  - hosts:
    - app2.example.com
    secretName: wildcard-tls
  rules:
  - host: app2.example.com
    http:
      paths:
      - path: /
        backend:
          serviceName: {{ .Chart.Name }}-app2
          servicePort: 80

但没有成功。它仍然返回带有文本413 Request Entity Too Large的html页面。

您能否建议如何在kubernetes中配置nginx以在413上返回json?

yg1438 回答:使用Nginx Ingress Controller在413状态代码上添加自定义响应

您可以尝试将此代码段添加到入口

nginx.ingress.kubernetes.io/server-snippet: |
      location @custom_413 {
        default_type application/json;
        return return 413 '{"error": {"status_code": 413,"status": "TEST"}}';;
      }
      error_page 413 @custom_413;
本文链接:https://www.f2er.com/3126968.html

大家都在问