v2t*_*2to 21 kubernetes nginx-ingress
在我的集群上,我正在尝试上传一个大文件,但是当我尝试时,我得到了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"
Run Code Online (Sandbox Code Playgroud)
我知道这是由 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: /
Run Code Online (Sandbox Code Playgroud)
和 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
Run Code Online (Sandbox Code Playgroud)
raf*_*kar 23
对于未来的搜索,它对我有用:
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:
Run Code Online (Sandbox Code Playgroud)
Lor*_*ord 12
对于 NGINX,当请求中的大小超过客户端请求正文允许的最大大小时,将向客户端返回 413 错误。这个大小可以通过参数配置
要为所有 Ingress 规则全局配置此设置,可以在 NGINX ConfigMap 中设置 proxy-body-size 值。要在 Ingress 规则中使用自定义值,请定义以下注释:
nginx.ingress.kubernetes.io/proxy-body-size: 8m
Run Code Online (Sandbox Code Playgroud)
对于node.js你可以设置
app.use(express.json({ limit: '50mb' }));
app.use(express.urlencoded({ limit: '50mb' }));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34271 次 |
| 最近记录: |