`
fredlong
  • 浏览: 132799 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用nginx重建了maven仓库后,jenkins的包一直上传失败,返回413

阅读更多
为了把测试环境中所有的虚机换成物理机,今天把最后一个东东Maven仓库迁移到物理机就算全完工了。结果,出岔子了。

事情是这样的,为了清爽,我为每一个web服务弄了一个域名:
jenkins.allure.so
maven.allure.so
gitlab.allure.so
svn.allure.so...

为了方便,我用nginx做了端口映射。弄完后,美美地搭建了一个基于Nexus的Maven仓库,并把所有pom文件中的仓库地址指向maven.allure.so。
一开始很顺利,用jenkins编译完之后,jenkins会自动把生成的包存一份到maven仓库中。

在编译最基础的包,cu-common的时候,终于遇到妖魔事件,jenkins在把包传到maven的时候报错:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project cu-common: Failed to deploy artifacts: Could not transfer artifact cu:cu-common:jar:master from/to releases (http://maven.allure.so/nexus/content/repositories/releases): Failed to transfer file: http://maven.allure.so/nexus/content/repositories/releases/cu/cu-common/master/cu-common-master.jar. Return code is: 413, ReasonPhrase: Request Entity Too Large. -> [Help 1]

我当时以为是比较简单的配置问题,可能Nexus哪个地方需要配置一下文件大小限制,于是慢google和baidu找遇到相同问题的人,结果。。。没有遇到相同问题的人!偶尔有也没有明确的答案。因为Nexus的HTTP实现是构建于Jetty之上的,我还自作聪明修改了jetty的http参数,结果问题依旧。

说来惭愧,下午搞了将近七个小时都没有搞定,崩溃边缘,11点半坐在家里郁闷的时候,突然想起来,可能是Nginx搞的鬼:
因为Nginx做了maven.allure.so的端口分发,所有的流量都会流经Nnginx后到达Nexus,而在Nginx层面,http的包大小默认做了限制。

在Nginx的http配置中增加一条配置后问题解决:
http {
    #......
    client_max_body_size 300M;
    #......
}

碎觉。

分享到:
评论
3 楼 mmhotsky 2017-05-17  
我也遇到同样的问题,感谢楼主没有让我花太多时间去解决  
2 楼 fredlong 2016-04-12  
相约的旋律 写道
能贴一下你 nginx.conf 配置文件处理看看吗?


不好意思,现在才看到你的评论,我当时的配置如下,请参考:


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    use epoll;
    worker_connections  51200;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    upstream nav.xiaoxiang.net{
server 10.10.206.175:8012;
server 10.10.206.190:8012;
server 10.10.206.191:8012;
    }

    server {
        listen       8012;
        server_name  nav.xiaoxiang.net;
        location / {
proxy_pass http://nav.xiaoxiang.net;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }


    upstream cu.xiaoxiang.net{
server 10.10.206.175:8013;
server 10.10.206.190:8013;
server 10.10.206.191:8013;
    }

    server {
        listen       8013;
        server_name  cu.xiaoxiang.net;
        location / {
proxy_pass http://cu.xiaoxiang.net;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

    server{
listen 80;
server_name alpha.allure.so;
location / {
root html;
index index.html index.htm;
}
    }

    server {

        server_name  cu.xiaoxiang.net;
listen 443;
ssl on;

        ssl_certificate      /usr/local/nginx/conf/cu.xiaoxiang.net.crt;
        ssl_certificate_key  /usr/local/nginx/conf/cu.xiaoxiang.net.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   sslhtml;
            index  index.html index.htm;
        }
    }

}
1 楼 相约的旋律 2016-02-27  
能贴一下你 nginx.conf 配置文件处理看看吗?

相关推荐

Global site tag (gtag.js) - Google Analytics