本站架构是docker容器运行halo映射8090端口,nginx配置反向代理 映射到80端口

 location / {
                proxy_pass http://127.0.0.1:8090;
               

原因:上传请求在到达 Halo 后端程序之前,直接服务器上的 Nginx 反向代理给拦截了。

Nginx 默认的 client_max_body_size 参数通常只有很小的 1MB,一旦上传的图片或附件超过这个体积,Nginx 就会直接拒绝并返回 413 错误。

第一步:修改 Nginx 配置文件 打开 Nginx 配置文件。通常在 /etc/nginx/nginx.conf,或者如果这台服务器上的站点做了独立配置,可能在 /etc/nginx/conf.d//etc/nginx/sites-available/ 目录下。

第二步:调整 client_max_body_size 参数 找到对应的 http {}server {} 或具体的 location / {} 块。建议直接加在配置代理的server 块里,设置一个能满足日常图文附件需求的阈值,比如 50MB:

root@iv-yed2c73k74bw80c8esh4:~# vim /etc/nginx/conf.d/halo.conf 

server {
            server_name bigbinup.com; 
            client_max_body_size 50M;  # 增加或修改这一行,允许最大 50MB 的请求体
            location / {

第三步:测试并重载 Nginx 保存文件后,执行常规配置检查:

nginx -t

如果输出显示 syntax is oktest is successful,直接平滑重载 Nginx 让配置生效:

systemctl reload nginx

重载配置后测试图片上传正常。