我已经在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等。但是似乎没有任何作用。
答案 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,它就起作用了。