本站架构是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 ok 且 test is successful,直接平滑重载 Nginx 让配置生效:
systemctl reload nginx重载配置后测试图片上传正常。
评论