无法使用配置了 Certbot 的 Wordpress Docker 和 Nginx 上传较大的文件

无法使用配置了 Certbot 的 Wordpress Docker 和 Nginx 上传较大的文件

我在 Docker Image 上配置了 Wordpress:

version: '2'
services:
  db:
    image: 'mysql/mysql-server:8.0'
    volumes:
      - 'db_data:/var/lib/mysql'
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: '${MYSQL_DATABASE_PASSWORD}'
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
  wordpress:
    image: 'wordpress:latest'
    ports:
      - 80
    restart: always
    environment:
      WORDPRESS_DB_HOST: 'db:3306'
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
 
volumes:
  db_data: null

我在 Wordpress 容器设置文件中正确地将 max_execution 更改为 300,将 upload_max_filesize 更改为 500 次,将 memory_limit 更改为 256MB。我在 php_info 中检查了它,看起来没问题。

但是当我尝试上传 123MB 的文件时,它总是会在中间停下大约 30 秒。通常百分比不同。我使用的是 All-In-One 迁移插件,但使用其他插件时也会在中间停下。

我使用 nginx 作为反向代理,并配置了 CertBot。我使用 Portainer 做所有事情。我使用 ARM 处理器。

我没有看到任何日志错误或消息。

我需要做什么才能使上传工作正常进行?

答案1

我解决了。这是 nginx 配置的问题。我认为如果 nginx 仅用作反向代理,那么就没什么好说的了,但事实并非如此。

解决方案是将其添加到我的域的配置中 /etc/nginx/conf.d/CONFIGFILE.conf 内的位置 {}

proxy_connect_timeout 300;
proxy_send_timeout 300;
client_max_body_size 500M;

相关内容