惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyberwarzone
Cyberwarzone
V
Vulnerabilities – Threatpost
T
Tenable Blog
Forbes - Security
Forbes - Security
Simon Willison's Weblog
Simon Willison's Weblog
AWS News Blog
AWS News Blog
G
GRAHAM CLULEY
Know Your Adversary
Know Your Adversary
S
Securelist
C
Cybersecurity and Infrastructure Security Agency CISA
Project Zero
Project Zero
C
CXSECURITY Database RSS Feed - CXSecurity.com
V
Visual Studio Blog
WordPress大学
WordPress大学
Latest news
Latest news
K
Kaspersky official blog
T
Tailwind CSS Blog
T
Threat Research - Cisco Blogs
B
Blog RSS Feed
C
Cisco Blogs
博客园 - 聂微东
Martin Fowler
Martin Fowler
T
The Blog of Author Tim Ferriss
小众软件
小众软件
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
L
LINUX DO - 热门话题
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
P
Proofpoint News Feed
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Privacy International News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
CERT Recently Published Vulnerability Notes
Cisco Talos Blog
Cisco Talos Blog
S
SegmentFault 最新的问题
Security Latest
Security Latest
Y
Y Combinator Blog
爱范儿
爱范儿
aimingoo的专栏
aimingoo的专栏
P
Privacy & Cybersecurity Law Blog
L
LINUX DO - 最新话题
月光博客
月光博客
The GitHub Blog
The GitHub Blog
博客园 - 三生石上(FineUI控件)
S
Security Affairs
P
Proofpoint News Feed
D
DataBreaches.Net
有赞技术团队
有赞技术团队
云风的 BLOG
云风的 BLOG

二丫讲梵

学习周刊-总第258期-2026年第15周 学习周刊-总第257期-2026年第14周 学习周刊-总第256期-2026年第13周 学习周刊-总第255期-2026年第12周 学习周刊-总第254期-2026年第11周 学习周刊-总第253期-2026年第10周 临时插播一条羊毛,免费领取450元大模型API代金券 学习周刊-总第252期-2026年第09周 学习周刊-总第251期-2026年第08周 学习周刊-总第250期-2026年第07周 学习周刊-总第249期-2026年第06周 诚邀评论,聊聊你所知欲知的我 学习周刊-总第248期-2026年第05周 我的QQ动态之2015年 我的QQ动态之2014年 我的QQ动态之2013年 我的QQ动态之2012年 我的QQ动态-2010-2011年 我的QQ动态-创栏小叙 学习周刊-总第247期-2026年第04周 学习周刊-总第246期-2026年第03周 学习周刊-总第245期-2026年第02周 学习周刊-总第244期-2026年第01周 学习周刊-总第243期-2025年第52周 学习周刊-总第242期-2025年第51周 开源项目ZenOps:带你领略禅意运维 学习周刊-总第241期-2025年第50周 用京东金融,享负债人生 学习周刊-总第240期-2025年第49周 学习周刊-总第239期-2025年第48周 整理我在静态服务透明代理上的极致求索之路,最后一个你绝想不到 学习周刊-总第238期-2025年第47周 我们输了,但收获颇多 太多了,太多了 学习周刊-总第237期-2025年第46周 学习周刊-总第236期-2025年第45周 学习周刊-总第235期-2025年第44周 二五年国庆二三事 学习周刊-总第234期-2025年第43周 学习周刊-总第233期-2025年第42周 学习周刊-总第232期-2025年第41周 学习周刊-总第231期-2025年第40周 学习周刊-总第230期-2025年第39周 西湖毅行 2025年开源世界逸闻三则 学习周刊-总第229期-2025年第38周 手抄《与妻书》 CNB开发与构建基于docker-cache缓存复用的配置实践心得 学习周刊-总第228期-2025年第37周 父亲善行录 学习周刊-总第227期-2025年第36周 带你认识我之看看我的高中同学录(其二) 学习周刊-总第226期-2025年第35周 带你认识我之看看我的高中同学录(其一) 认识神级MCP工具系列--用anyquery和数据库交互 学习周刊-总第225期-2025年第34周 学习周刊-总第224期-2025年第33周 学习周刊-总第223期-2025年第32周 学习周刊-总第222期-2025年第31周 学习周刊-总第221期-2025年第30周 CNB云原生开发环境届的瑞士军刀,详解qifei项目 vuepress-vdoing主题配置自建不蒜子统计 学习周刊-总第220期-2025年第29周 写在博客发表文章1000篇的节点 从claude cli的体验聊聊最大的敌人是我们自己的成见 学习周刊-总第219期-2025年第28周 学习周刊-总第218期-2025年第27周 学习周刊-总第217期-2025年第26周 理论正确,事实错误 学习周刊-总第216期-2025年第25周 学习周刊-总第215期-2025年第24周 学习周刊-总第214期-2025年第23周 学习周刊-总第213期-2025年第22周 学习周刊-总第212期-2025年第21周 从赵心童世锦赛夺冠聊聊我的斯诺克情缘 学习周刊-总第211期-2025年第20周 记录二五年五一之短暂回归家庭 学习周刊-总第210期-2025年第19周 学习周刊-总第209期-2025年第18周 学习周刊-总第208期-2025年第17周 Go开发实践之Gin框架将前端的dist目录embed到二进制 学习周刊-总第207期-2025年第16周 近期关于cobra库的一些实践心得总结 学习周刊-总第206期-2025年第15周 我的嗜好--嗑瓜子 记大宝参加幼儿园组织的清明烈士陵园扫墓活动 学习周刊-总第205期-2025年第14周 学习周刊-总第204期-2025年第13周 前端开发小笔记--在数组中给字段添加值与删除字段的操作 学习周刊-总第203期-2025年第12周 人生实苦,何以自渡 学习周刊-总第202期-2025年第11周 近期发现的一些优秀的工具提名(一) 学习周刊-总第201期-2025年第10周 学习周刊-总第200期-2025年第09周 记一次女友喝醉使我忍术破功 爱情风波--一次分手又复合的经历 学习周刊-总第199期-2025年第08周 整理我的信息源 学习周刊-总第198期-2025年第07周
Nexus社区版权益阉割--一文告诉你有哪些版本可以选择
二丫讲梵 · 2026-01-18 · via 二丫讲梵

# 前言

最近折腾 Nexus,发现默认部署的最新版本首页有组件数量限制的展示,之前一直没有留意,经过一番了解之后,发现 Nexus 社区版的权益,也在进一步收紧,如果公司打算部署一个 Nexus,做好版本选择就非常关键。

# 版本之辨

Nexus 的组件限制,大致有如下几个版本节点:

  • 官方在 3.66.0 版本中增加了组件和请求数等相关监测指标。详见发版日志 (opens new window)
  • 一直到 3.76.1 版本,监测功能正常工作,当组件达到 10w 个会有建议提醒,但不会限制使用。
  • 3.77.0 版本开始,组件数 10w,日请求 20w 规则正式生效,当某个指标达到上限之后,会进入 30 天宽限期,宽限期内读写正常,如果指标降低到上限以内,到期后正常使用,否则将会无法写入。详见发版日志 (opens new window)
  • 3.87.0 版本开始,组件数上限降为 4w,日请求数降为 10w详见发版日志 (opens new window) 3.87.0 进一步降低限制之后,开源社区即有人提出担忧:883 (opens new window)

# 验证限制

考虑到有一些版本是统计而不限制,有一些版本是统计且限制,这里用脚本针对几个版本做一下验证测试。

快速部署:

docker run -itd -p 9000:8081 docker.cnb.cool/znb/images/nexus3:3.76.1
docker run -itd -p 9001:8081 docker.cnb.cool/znb/images/nexus3:3.86.3
docker run -itd -p 9002:8081 docker.cnb.cool/znb/images/nexus3

1
2
3

首先创建一个 raw 类型的仓库,接着通过如下 go 脚本,并发上传随机文件,然后静待一阵儿时间,到达统计周期,统计信息生效。

package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
	"sync"
	"time"
)

const (
	NexusURL   = "http://localhost:9000/repository/raw/"
	Username   = "admin"
	Password   = "admin"
	TotalFiles = 200004 // 目标上传总数
	// TotalFiles = 2  // 目标上传总数
	MaxWorkers = 200 // 并发数,根据机器性能调整
)

func main() {
	start := time.Now()
	var wg sync.WaitGroup
	jobs := make(chan int, TotalFiles)

	// 启动 Worker 池
	for w := 1; w <= MaxWorkers; w++ {
		wg.Add(1)
		go worker(w, jobs, &wg)
	}

	// 分发任务
	for i := 1; i <= TotalFiles; i++ {
		jobs <- i
	}
	close(jobs)

	wg.Wait()
	fmt.Printf("\n任务完成!总耗时: %v\n", time.Since(start))
}

func worker(id int, jobs <-chan int, wg *sync.WaitGroup) {
	defer wg.Done()
	client := &http.Client{Timeout: 30 * time.Second}

	for j := range jobs {
		fileName := fmt.Sprintf("test-file-%d.txt", j)
		uploadURL := NexusURL + fileName

		// 创建一个空的 Buffer 作为文件内容
		data := bytes.NewReader([]byte(""))

		req, err := http.NewRequest("PUT", uploadURL, data)
		if err != nil {
			fmt.Printf("Worker %d: 创建请求失败 %s\n", id, fileName)
			continue
		}

		req.SetBasicAuth(Username, Password)

		resp, err := client.Do(req)
		if err != nil {
			fmt.Printf("Worker %d: 上传失败 %s, 错误: %v\n", id, fileName, err)
			continue
		}

		// 必须关闭 Body 以复用连接
		io.Copy(io.Discard, resp.Body)
		resp.Body.Close()

		if resp.StatusCode >= 200 && resp.StatusCode < 300 {
			if j%100 == 0 {
				fmt.Printf("\r进度: 已上传 %d/%d", j, TotalFiles)
			}
		} else {
			fmt.Printf("\nWorker %d: 触发限制或错误! 文件: %s, 状态码: %d\n", id, fileName, resp.StatusCode)
		}
	}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80

实测结果如下:

3.76.1

能够看到统计建议是不要超过 10w,实际写入 20w,没有任何影响,也没有强制升级提示。

3.86.3

提示:30 Days RemainingThis instance of Nexus Repository Community Edition has exceeded its usage limit. Limits will be enforced starting February 16, 2026, when new components can no longer be added.

可以看到写入超限之后,会提示进入 30 天宽限期,要么对组件进行清理,要么付费升级解锁限制。

3.88.0

最新版本可以看到组件数达到 4w 即会触发上限提醒。

# 镜像抢救

结合如上信息,我个人建议部署时优先选择 3.76.1 版本进行部署,如果能够预见规模不会很大,那么可以考虑选择 3.86.3

为了提前预防官方后期进一步降低权益,甚至对制品进行删库,我这里将如上两个版本都做了相应归档,有需要的同学,可以在这里获取。

地址:nexus3-docker (opens new window)

其中的 pack 标签,是考虑到可能有同学不习惯使用 docker 部署,就把对应的软件包也做了下载归档。

$ docker run -it docker.cnb.cool/znb/images/nexus3:pack ls /root

nexus-3.76.1-01-unix.tar.gz
nexus-3.86.3-01-linux-aarch_64.tar.gz
nexus-3.86.3-01-linux-x86_64.tar.gz

1
2
3
4
5

三个制品包,放到了 pack 标签的镜像中,可按需下载使用。如果你还有其他需要使用的版本希望我同步到这个仓库,欢迎评论区留言告诉我。