首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx Ingress返回413个实体太大

Nginx Ingress返回413个实体太大
EN

Stack Overflow用户
提问于 2020-11-09 22:10:39
回答 7查看 16.3K关注 0票数 9

在我的集群中,我试图上传一个大文件,但当我尝试时,我得到了413 Error

代码语言:javascript
复制
error parsing HTTP 413 response body: invalid character '<' looking for beginning of value: "<html>\r\n<head><title>413 Request Entity Too Large</title></head>\r\n<body>\r\n<center><h1>413 Request Entity Too Large</h1></center>\r\n<hr><center>nginx/1.19.3</center>\r\n</body>\r\n</html>\r\n"

我知道这是由默认参数nginx引起的,我需要重写它。在文档中,我发现这可以通过两种方法来完成:

  1. 在ingress配置中使用注释
  2. 使用configMap

我试过这两种方法,但都没有结果。

这是我的yaml: ingress.yml

代码语言:javascript
复制
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/proxy-body-size: "700m"
  name: nginx-ingress
spec:
  rules:
    - host: example.com
      http:
        paths:
          - backend:
              serviceName: nginx-service
              servicePort: 80
            path: /              

和configmap.yml:

代码语言:javascript
复制
apiVersion: v1
data:
  proxy-body-size: "800m"
kind: ConfigMap
metadata:
  name: ingress-nginx-controller
  labels:
    app.kubernetes.io/name: nginx-ingress
    app.kubernetes.io/part-of: nginx-ingress
EN

回答 7

Stack Overflow用户

发布于 2021-03-27 19:13:27

对于未来的搜索,它对我来说是有效的:

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: "0"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
  name: docker-registry
  namespace: docker-registry
spec:
票数 10
EN

Stack Overflow用户

发布于 2021-05-20 15:21:06

我在GKE上使用Nginx Ingress时也遇到了同样的问题。

以下是对我有用的注解:

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.org/client-max-body-size: "0"
    nginx.org/proxy-connect-timeout: 600s
    nginx.org/proxy-read-timeout: 600s

别忘了把正确的值给你。

有关更多详细信息,您可以看到以下文档:

  1. 使用注解
  2. 客户最大体型

PS我已经在本教程之后安装了我的"Nginx入侵控制器“。

票数 4
EN

Stack Overflow用户

发布于 2021-09-08 10:37:20

这里已经有一些好的答案可以避免413

例如,使用以下注解编辑Ingress (更好地重新部署):

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: "0"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "600"

此外,对于NGINX,当请求中的大小超过客户机请求主体的最大允许大小时,会向客户端返回413错误。这个大小可以由参数client_max_body_size 参考文献配置。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64759983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档