在我的集群中,我试图上传一个大文件,但当我尝试时,我得到了413 Error
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引起的,我需要重写它。在文档中,我发现这可以通过两种方法来完成:
我试过这两种方法,但都没有结果。
这是我的yaml: ingress.yml
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:
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发布于 2021-03-27 19:13:27
对于未来的搜索,它对我来说是有效的:
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:发布于 2021-05-20 15:21:06
我在GKE上使用Nginx Ingress时也遇到了同样的问题。
以下是对我有用的注解:
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别忘了把正确的值给你。
有关更多详细信息,您可以看到以下文档:
PS我已经在本教程之后安装了我的"Nginx入侵控制器“。
发布于 2021-09-08 10:37:20
这里已经有一些好的答案可以避免413。
例如,使用以下注解编辑Ingress (更好地重新部署):
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 参考文献配置。
https://stackoverflow.com/questions/64759983
复制相似问题