error parsing HTTP 413 response body: invalid character ‘<‘ looking for beginning of value: “<html>\

我们的架构是nginx反向代理到harbor后端,所以这里的192.168.xx.20:443是nginx的端口。
docker 推送镜像报错:

[root@dev-node01 ~]# docker push 192.168.xx.20:443/ruoyi-dev/ruoyi-nginx:dev-127
The push refers to repository [192.168.xx.20:443/ruoyi-dev/ruoyi-nginx]
dd344f6eb418: Pushing [==================================================>]  7.344MB/7.344MB
400481800ebf: Layer already exists 
32ed8af87d6c: Layer already exists 
d874fd2bc83b: Layer already exists 
32ce5f6a5106: Layer already exists 
f1db227348d0: Layer already exists 
b8d6e692a25e: Layer already exists 
e379e8aedd4d: Waiting 
2edcec3590a4: Waiting 
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.24.0</center>\r\n</body>\r\n</html>\r\n"
[root@dev-node01 ~]# docker images | grep '192.168.xx.20:443/ruoyi-dev/ruoyi-nginx'
192.168.xx.20:443/ruoyi-dev/ruoyi-nginx                                dev-127                        13a89449a269   4 minutes ago   149MB
[root@dev-node01 ~]# 

从报错信息来看这是nginx返回的错误信息,原因是nginx设置允许客户端的包大小设置小了,nginx反向代理到了后端harbor。
如下设置:

[root@dev-master ~]# cat /etc/nginx/nginx.conf 
user  nginx;
worker_processes  auto;
error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    client_max_body_size 0;					# 0表示不限制客户端包的大小
    #gzip  on;
    include /etc/nginx/conf.d/*.conf;
}
[root@dev-master ~]# nginx -s reload		# 重载nginx

可以将client_max_body_size设置为一个非常大的值,如0或者100G等,以达到不限制的效果。

在Nginx中,client_max_body_size参数用于限制客户端请求主体的最大尺寸。如果您希望去除这个限制,可以将其值设置得非常大,例如设置为0,这样Nginx就不会对客户端的请求主体大小进行限制了。但请注意,这样做可能会增加服务器的资源消耗,因为它需要处理更大的请求主体。此外,如果请求主体大于client_body_buffer_size指定的值,Nginx会将请求主体保存到临时文件中,因此确保临时文件目录具有足够的空间和适当的权限也是很重要的。

在实际操作中,您可以通过编辑Nginx配置文件来实现这一点。例如,您可以在http、server或location块中添加或修改以下配置:

client_max_body_size 0;
client_max_body_size 100G;

这样的配置将会允许客户端发送非常大的请求主体,直到达到操作系统或硬件的限制。在做出这样的更改之前,请确保考虑到了潜在的安全风险和服务器性能影响。

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值