问题记录,欢迎访问 陈同学博客原文
在云服务器(公网)上装了Nexus作为Maven私服,Nexus使用Nginx代理
在IDE中进行maven deploy时(注:测试时直接IDE deploy)不断重现以下日志:
org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec execute
INFO: I/O exception (java.net.SocketException) caught when processing request to {}->http://repo.xxx.com:80: Broken pipe
上述日志出现一段时间后,最后报错:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project xdo: Failed to deploy artifacts: Could not transfer artifact com.hscf:xdo:jar:1.0.0 from/to dlrepo (http://repo.xxx.com/repository/dlrepo/): Protocol wrong type for socket -> [Help 1]
101.231.252.114 - developer [31/May/2018:12:30:35 +0800] "PUT /repository/dlrepo/com/hscf/xdo/1.0.0/xdo-1.0.0.jar HTTP/1.1" 413 208 "-" "Apache-Maven/3.0.5 (Java 1.8.0_101; Mac OS X 10.11.6)"
非常熟悉的nginx 413 状态, 说明Nginx设置的request body太小。因为是新安装的Nginx,因此 client_max_body_size 是默认值1M。
查看当前组件,发现好几个依赖的jar包,约15M.
配置request body的最大值为 100m即可,配置后重新deploy,上传成功.
server {
...
client_max_body_size 100m;
location / {
...
}
}
已将client_max_body_size的设置补充到nginx安装和配置手册,避免下次出现类似问题
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。