Nexus通过maven部署,提供连接超时



我通过mvn deploy构建了我的本地设置,该设置将其发送到我们内部(通过VPN)网络上的nexus,位于nginx反向代理后面。

Maven版本:

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

每当我尝试部署一个特定模块时,我都会收到连接超时。我最初收到一个错误,由于nexus上的存储库不允许重新部署,因此失败了(即使存储库中实际上没有该模块)

我目前的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

绒球.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)开始实际发布。 这修复了它,没有任何变化。

最新更新