首页 > 解决方案 > 如何在 docker-compose 中配置 nginx 代理?

问题描述

我想client_max_body_size直接在 docker-compose.yml 中配置一个 dockerized nginx 代理。

我找到了这个资源:https ://github.com/nginx-proxy/nginx-proxy/issues/690 ,但似乎没有一个解决方案适用。

这是我的 docker-compose.yml(版本:'3.7'):

web-proxy:
    container_name: test-proxy
    image: nginxproxy/nginx-proxy
    depends_on: 
      - web
    volumes:
      - /nginx/conf:/etc/nginx/conf.d
      - /nginx/vhost:/etc/nginx/vhost.d
      - /nginx/html:/usr/share/nginx/html
      - /nginx/dhparam:/etc/nginx/dhparam
      - /nginx/certs:/etc/nginx/certs:ro
      - /var/run/docker.sock:/tmp/docker.sock:ro
    ports:
      - 80:80
      - 443:443

另一种方法应该是在已安装的卷中添加一个额外的配置文件,但我更喜欢在 docker-compose 文件中完全配置它。

标签: nginxdocker-composenginx-reverse-proxynginx-config

解决方案


这是来自图像文档 自定义 Nginx 配置

代理范围

要在代理范围内添加设置,请在 /etc/nginx/conf.d 下使用以 .conf 结尾的名称添加配置文件。

这可以通过在 RUN 命令中创建文件或将文件复制到 conf.d 中来在派生映像中完成:

FROM nginxproxy/nginx-proxy
RUN { \
      echo 'server_tokens off;'; \
      echo 'client_max_body_size 100m;'; \
    } > /etc/nginx/conf.d/my_proxy.conf

推荐阅读