Docker推送关系私人仓库失败,413请求实体太大

时间:2019-01-07 13:35:46

标签: docker nginx nexus

我已经在Nexus OSS的本地实例上部署了一个Nginx反向代理后面的实例。

在尝试将docker映像推送到Nexus注册表中创建的存储库的任何尝试时,我都会遇到 413 Request Entity Too Large在推送​​过程中。

nginx.conf文件看起来像这样:

http {
    client_max_body_size 0;
    upstream nexus_docker {
        server nexus:1800;
    } 
    server {
        server_name nexus.services.loc;
        location / {
            proxy_pass http://nexus_docker/;
            proxy_set_header Host $http_post;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        } 
    } 
} 

nginx是使用docker部署的,我已经使用docker login成功登录了它。 我已经尝试了多个其他标志,例如chunkin等。但是似乎没有任何作用。

2 个答案:

答案 0 :(得分:0)

这是由于您的服务器块在未设置时的client_max_body_size默认值约为1MB。

要解决此问题,您需要在服务器块中添加以下行:

# Unlimit large file uploads to avoid "413 Request Entity Too Large" error
client_max_body_size 0;

http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size

答案 1 :(得分:0)

事实证明,运行容器化nginx服务器的linux发行版本身正在为任何传入请求运行nginx的变体。

一旦我们在操作系统级别将client_max_body_size设置为0,它就起作用了。