簡體   English   中英

Nexus 部署通過 Maven 給出連接超時

[英]Nexus deploy via maven giving connection timeout

我的本地設置是通過mvn deploy構建的,它將它發送到我們內部(通過 vpn)網絡上的 nexus,在 nginx 反向代理后面。

Maven 版本:

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: C:\Program Files\Maven\bin\..
Java version: 14.0.2, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-14.0.2
Default locale: en_GB, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

每當我嘗試部署一個特定模塊時,我都會遇到連接超時。 我最初收到一個錯誤,因為 nexus 上的 repo 不允許重新部署它失敗了(即使 repo 中該模塊實際上沒有任何內容)

我當前的 pom.xml 配置:

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>11</java.version>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <maven.wagon.http.ssl.insecure>true</maven.wagon.http.ssl.insecure>
        <maven.wagon.http.ssl.allowall>true</maven.wagon.http.ssl.allowall>
        <maven.wagon.rto>5200000</maven.wagon.rto>
        <maven.wagon.http.retryHandler.count>3</maven.wagon.http.retryHandler.count>
        <maven.wagon.http.pool>false</maven.wagon.http.pool>
        <http.keepAlive>false</http.keepAlive>
</properties>

mvn 端錯誤:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project parent-games-myproject: Failed to deploy artifacts: Could not transfer artifact com.my-proj.cw:parent-games-myproject:jar:1.0.0 from/to nexus-releases (https://nexus.url/repository/maven-private-release/): Transfer failed for https://nexus.url/repository/maven-private-release/com/my-proj/cw/parent-games-myproject/1.0.0/parent-games-myproject-1.0.0.jar: Connection reset -> [Help 1]

連接端的日志內容:

2020-09-02 10:40:39,460+0000 DEBUG [qtp29708-47233]  my.user@email.com org.sonatype.nexus.blobstore.file.FileBlobStore - Deleted /nexus-data/blobs/maven-private-release-store/content/tmp/tmp$80bb45da-8a68-4a34-a660-8a0526d221c7.properties
2020-09-02 10:40:39,460+0000 DEBUG [qtp29708-47233]  my.user@email.com org.sonatype.nexus.repository.view.Router - Response: Response{status=Status{successful=true, code=201, message='null'}, payload=null}
2020-09-02 10:40:39,460+0000 DEBUG [qtp29708-47233]  my.user@email.com org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Request: Request{action='PUT', path='/com/my-proj/cw/parent-games-myproject/1.0.0/parent-games-myproject-1.0.0.pom.md5', parameters={}, payload=HttpRequestPayloadAdapter{contentType='null', size=32}, multipart=false}
2020-09-02 10:40:39,460+0000 DEBUG [qtp29708-47233]  my.user@email.com org.sonatype.nexus.repository.httpbridge.internal.DefaultHttpResponseSender - Sending response: Response{status=Status{successful=true, code=201, message='null'}, payload=null}
2020-09-02 10:40:39,460+0000 DEBUG [qtp29708-47233]  my.user@email.com org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Service completed

Nginx 全局配置:

worker_processes auto;
worker_rlimit_nofile 32768;

events {
  worker_connections 16384;
  multi_accept off;
}

http {

  include /etc/nginx/mime.types;
  default_type application/octet-stream;
  server_names_hash_bucket_size 64;
  client_max_body_size 64m;
  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log warn;
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 65;
  keepalive_requests 100;
  server_tokens on;
  types_hash_max_size 2048;

  gzip on;

  include /etc/nginx/conf.d/*.conf;
  include /etc/nginx/sites-enabled/*;

}

Nginx 站點配置:

server {
  listen 80;
  server_name nexus.url ;
  # Redirect non-https traffic to https
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl http2;
  server_name nexus.url;
  ssl_certificate /etc/nginx/ssl/nexus.url.crt;
  ssl_certificate_key /etc/nginx/ssl/nexus.url.key;
  server_tokens off;
  ssl_dhparam /etc/nginx/ssl/dhparams.pem;
  ssl_session_cache shared:SSL:10m;
  ssl_protocols TLSv1.2;
  ssl_prefer_server_ciphers on;
  ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:CAMELLIA256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:CAMELLIA128-SHA';

  gzip_proxied any;
  gzip on;
  gzip_min_length 1023;
  gzip_types text/plain text/css text/js text/javascript text/xml application/json application/javascript application/x-javascript application/xml application/xml+rss;
  proxy_send_timeout        1210s;
  proxy_read_timeout        1210s;
  proxy_max_temp_file_size  32384m;
  proxy_redirect            off;
  proxy_buffers             32 4k;
  send_timeout              1210s;
  client_max_body_size      0;
  client_body_buffer_size   128k;

}

登錄 nexus 報告絕對沒有出錯,這非常奇怪,其他模塊構建和部署成功......不知道還剩下什么。 在這一點上,我只需要部署人工制品,這樣我們就可以繼續工作

---- 額外信息 ---

模塊的主 jar 為 4KB,測試 jar 為 2KB

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>parent-games</artifactId>
        <groupId>com.my-proj.cw</groupId>
        <version>1.0.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>parent-games-myproject</artifactId>

    <dependencies>
        <dependency>
            <groupId>com.my-proj.cw</groupId>
            <artifactId>cw-games-myproject</artifactId>
        </dependency>
        <dependency>
            <groupId>com.my-proj.cw</groupId>
            <artifactId>parent-core</artifactId>
        </dependency>
    </dependencies>

</project>

這絕不是一個好的解決方案,但它最終對我有用

有一次,我放棄了部署 1.0.0 版的測試運行,然后使用我需要的正確版本 (4.51.0) 開始了實際發布。 這修復了它,沒有任何改變。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM