解决无法在 Docker 的 Redmine 中上传文件的问题

经过调查,我发现在使用Docker设置的Redmine无法上传文件,原因是由于为实现SSL支持而引入的Nginx导致的。

客户端最大请求体大小

Nginx 的默認文件上傳大小限制為1MB,使用 client_max_body_size 的默認值。

client_max_body_size 1g;

docker-compose.yml 的翻译是容器组合.yml。

将创建的 conf.d/custom_proxy_settings.conf 文件挂载到 jwilder/nginx-proxy 上。

services:
  nginx-proxy:
    image: jwilder/nginx-proxy
    container_name: nginx-proxy
    restart: always
    privileged: true
    ports:
      - 80:80
      - 443:443
    volumes:
      - /srv/ssl_proxy/certs:/etc/nginx/certs:ro
      - /srv/ssl_proxy/htpasswd:/etc/nginx/htpasswd
      - /srv/ssl_proxy/conf.d/custom_proxy_settings.conf:/etc/nginx/conf.d/custom_proxy_settings.conf:ro
      - nginx-proxy:/etc/nginx/vhost.d
      - nginx-proxy:/usr/share/nginx/html
      - /srv/ssl_proxy/log:/var/log/nginx
      - /var/run/docker.sock:/tmp/docker.sock:ro

重启容器

docker-compose up -d

默认配置: client_max_body_size 1m; – client_max_body_size – 模块 ngx_http_core_module  ↩

https://github.com/jwilder/nginx-proxy/blob/master/README.md#custom-nginx-configuration ↩

jwilder/nginx-proxy 上传限制?·问题 #981 · jwilder/nginx-proxy ↩