Docker login Harbor 域名解析与证书校验全链路排错指南
1. 为什么“本机其他主机用域名登录Harbor”会卡在第一步我第一次部署Harbor时信心满满地照着官方文档走完安装流程docker-compose up -d启动成功浏览器能打开https://harbor.example.com证书也显示“安全”连登录页都渲染得漂漂亮亮。可当我兴冲冲在本机执行docker login harbor.example.com终端卡住不动十几秒后报错Error response from daemon: Get https://harbor.example.com/v2/: dial tcp 192.168.1.100:443: i/o timeout更诡异的是换台同网段的测试机再试直接返回Error response from daemon: Get https://harbor.example.com/v2/: x509: certificate is valid for *.harbor.example.com, not harbor.example.com——同一套配置本机和远程主机报的错还不一样。这不是环境问题是典型的身份认知错位Docker daemon 不是浏览器它不走 DNS 解析HTTP 重定向那一套它对域名的理解极其原始且严格。它只做三件事查/etc/hosts或 DNS 拿 IP、建 TCP 连接、校验证书 Subject Alternative NameSAN。只要其中任何一环没对上login就会当场静音或甩出冷冰冰的错误。而绝大多数人栽在这一步根本原因不是 Harbor 配置错了而是把“能打开网页”等同于“Docker 能连通”。网页能开说明 Nginx 反向代理、SSL 终止、前端路由都没问题但 Docker client 是个纯命令行工具它不解析 HTML不执行 JS不处理 301 重定向它只认 IP 和证书里的域名。你浏览器里看到的“安全小锁”Docker daemon 看到的可能是“证书吊销警告”或者“域名不匹配”。所以这个标题背后的真实需求从来不是“怎么装 Harbor”而是“如何让 Docker daemon 在所有目标机器上把harbor.example.com这个字符串稳稳当当地翻译成一个它信任的 IP 地址并且接受那个地址返回的证书”。这本质上是个网络层与 TLS 层的协同对齐问题涉及 DNS、hosts、证书 SAN、Nginx 配置、Docker daemon 配置五个关键面。少对齐一面docker login就会给你脸色看。提示别急着改harbor.yml。90% 的“登录失败”问题根源不在 Harbor 服务端配置本身而在客户端与服务端之间的“握手协议”没谈拢。先确认你的harbor.example.com域名在每台目标机器上是否能被ping通、能否curl -v https://harbor.example.com成功、证书是否被openssl s_client -connect harbor.example.com:443 -servername harbor.example.com显示为有效且 SAN 匹配。这三个命令就是诊断的黄金三角。2. 域名解析的双重路径DNS 与 /etc/hosts 的实战取舍Docker daemon 查找harbor.example.com对应的 IP只走两条路系统级的 DNS 查询或者本地/etc/hosts文件的静态映射。它不会去读浏览器的 hosts 设置也不会用你公司内网的 DNS 服务器除非你显式配置了。这就决定了你必须在每一台需要docker login的机器上确保这两条路径中至少有一条能给出正确的、指向 Harbor 实际监听 IP 的结果。2.1 DNS 方案稳定但依赖基础设施如果你有权限管理内网 DNS比如某高校实验室的 Bind 服务器或某公司 IT 部署的 CoreDNS这是最干净、最可扩展的方案。只需添加一条 A 记录harbor.example.com. IN A 192.168.10.50注意结尾的.表示这是一个完全限定域名FQDN避免 DNS 搜索域追加导致解析错误。添加后在任意客户端机器上执行nslookup harbor.example.com # 或 dig short harbor.example.com应稳定返回192.168.10.50。此时docker login harbor.example.com才有基础。但 DNS 方案有三个隐藏陷阱第一TTL 缓存。如果你刚改完 DNS旧的 TTL比如 3600 秒还没过期nslookup可能返回缓存的旧 IP。此时ping通但curl -v失败因为连到了一台早已下线的旧服务器。解决方法是强制刷新Linux 上执行sudo systemd-resolve --flush-cachessystemd-resolved或sudo /etc/init.d/nscd restartnscdmacOS 上执行sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder。第二DNS 搜索域污染。很多企业网络会在 DHCP 分配的 DNS 配置里附带一个默认搜索域比如corp.internal。当你输入harbor.example.com系统可能尝试解析harbor.example.com.corp.internal而这个域名并不存在DNS 查询会超时然后才回退到解析原始域名。这个“超时等待”过程就是docker login卡住十几秒的元凶。验证方法nslookup harbor.example.com 8.8.8.8直连 Google DNS如果秒回但nslookup harbor.example.com很慢基本就是搜索域问题。解决方案是在/etc/resolv.conf中将search corp.internal这一行注释掉或在dockerd启动参数里显式指定 DNS 服务器--dns 8.8.8.8 --dns 114.114.114.114。第三DNS over HTTPSDoH干扰。某些新版操作系统如 macOS Monterey、Windows 11默认启用 DoH它会绕过/etc/resolv.conf里的传统 DNS 设置直接加密连接到 Cloudflare 或 Google 的 DoH 服务器。而这些公共 DoH 服务器显然无法解析你的内网域名harbor.example.com。此时nslookup可能返回NXDOMAIN。解决方法是关闭系统级 DoH或在 Docker daemon 配置中强制指定传统 DNS。2.2 /etc/hosts 方案简单粗暴适合小规模验证当 DNS 权限受限或只是临时测试几台机器时/etc/hosts是最快见效的方案。在每台目标机器上以 root 权限编辑该文件sudo nano /etc/hosts在文件末尾添加一行192.168.10.50 harbor.example.com注意IP 和域名之间用制表符Tab或至少一个空格分隔不能用多个空格或中文符号。保存后立即生效无需重启任何服务。这个方案的优势在于绝对可控、零延迟、不受任何外部网络策略影响。我曾在一个客户现场其内网 DNS 被安全策略严格限制只允许解析公网域名所有内网服务都靠hosts文件驱动。我们给二十多台 CI/CD 构建节点统一推送了hosts更新脚本运行后docker login立刻恢复正常。但它也有硬伤可维护性差。一旦 Harbor 服务器 IP 变更比如从物理机迁移到 Kubernetes NodePort你必须手动或通过 Ansible 等工具同步更新所有客户端的hosts文件。漏掉一台那台机器就永远登不上。因此hosts方案我只推荐用于三种场景单机开发环境、三台以内的测试集群、以及 DNS 故障时的紧急回滚手段。注意/etc/hosts的优先级高于 DNS。这意味着即使你的 DNS 已正确配置只要hosts里有一行127.0.0.1 harbor.example.comDocker 就会固执地连向本机而不是真正的 Harbor 服务器。我见过不止一次开发者为了“方便调试”在hosts里加了本地映射结果忘了删导致整个团队都登不上仓库。排查时第一反应就是cat /etc/hosts | grep harbor。3. 证书信任链为什么浏览器说“安全”Docker 却说“证书无效”这是docker login失败的第二大高频原因。浏览器和 Docker daemon 对 TLS 证书的信任机制存在本质差异。3.1 浏览器的信任是“宽松的智能”现代浏览器Chrome、Firefox、Safari内置了一个庞大的“根证书颁发机构Root CA”列表。当你访问https://harbor.example.com服务器返回一个由 Lets Encrypt 签发的证书浏览器会自动下载并验证其上级中间证书最终追溯到一个它信任的根证书。这个过程是全自动、后台静默的。更关键的是浏览器还会执行额外的“智能检查”如果证书的 Common NameCN是*.example.com而你访问的是harbor.example.com它会认为匹配如果证书的 SAN 列表里有harbor.example.com它也会放行。这种宽容是为了保证海量网站的兼容性。3.2 Docker daemon 的信任是“严苛的原始”Docker daemon 的 TLS 校验是基于 Go 语言标准库的crypto/tls包它不内置任何根证书而是完全依赖操作系统的证书存储。在 Linux 上它读取/etc/ssl/certs/ca-certificates.crtDebian/Ubuntu或/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pemRHEL/CentOS。更重要的是它的校验逻辑是“非黑即白”的它只检查证书的 SANSubject Alternative Name字段完全忽略 CN 字段。这是 RFC 2818 的明确要求而浏览器为了兼容老证书做了妥协。它要求 SAN 列表中必须精确包含你docker login时输入的完整域名。*.example.com不等于harbor.example.comharbor.example.com也不等于www.harbor.example.com。它不自动下载中间证书。如果服务器没有在 TLS 握手时一并发送完整的证书链即 leaf cert intermediate certsDocker daemon 就会因无法构建信任链而报错x509: certificate signed by unknown authority。所以当你看到curl -v https://harbor.example.com成功但docker login失败十有八九是证书链或 SAN 的问题。验证方法非常直接# 1. 检查证书的 SAN 字段 openssl s_client -connect harbor.example.com:443 -servername harbor.example.com 2/dev/null | openssl x509 -noout -text | grep -A1 Subject Alternative Name # 2. 检查服务器是否发送了完整证书链 openssl s_client -connect harbor.example.com:443 -servername harbor.example.com -showcerts 2/dev/null | grep BEGIN CERTIFICATE | wc -l第一个命令的输出应该清晰地列出DNS:harbor.example.com。第二个命令的输出如果是1说明只发了叶子证书缺少中间证书如果是2或3说明链是完整的。3.3 生成与配置 Harbor 证书的实操要点Harbor 官方文档推荐使用openssl自签证书但自签证书在 Docker 环境下几乎必然失败因为它的根证书不在任何客户端的操作系统信任库中。因此生产环境唯一可靠的选择是使用Lets Encrypt 的certbot工具配合standalone或webroot模式申请。以standalone模式为例假设 Harbor 服务器防火墙已开放 80 端口# 1. 安装 certbot sudo apt update sudo apt install -y certbot # 2. 停止 Harbor 和 Nginxcertbot 需要独占 80 端口 sudo docker-compose -f /opt/harbor/docker-compose.yml down sudo systemctl stop nginx # 如果 Nginx 是系统服务 # 3. 申请证书注意-d 参数必须与 harbor.yml 中的 hostname 完全一致 sudo certbot certonly --standalone -d harbor.example.com # 4. 证书会生成在 /etc/letsencrypt/live/harbor.example.com/ 下 # 我们需要的是 fullchain.pem证书链和 privkey.pem私钥拿到证书后修改 Harbor 的主配置文件/opt/harbor/harbor.ymlhostname: harbor.example.com # ... 其他配置保持不变 ... https: port: 443 certificate: /etc/letsencrypt/live/harbor.example.com/fullchain.pem private_key: /etc/letsencrypt/live/harbor.example.com/privkey.pem关键点来了certificate字段必须填fullchain.pem而不是cert.pem。cert.pem只包含叶子证书fullchain.pem才是cert.pemchain.pem的合并体它包含了让 Docker daemon 能够构建完整信任链所必需的所有中间证书。最后重新部署 Harborsudo ./prepare sudo docker-compose -f /opt/harbor/docker-compose.yml up -d提示如果你的 Harbor 服务器无法直接访问公网比如在内网隔离区则必须使用dns-01挑战模式通过 API 自动修改 DNS TXT 记录来完成验证。这需要你的 DNS 服务商如 Cloudflare、阿里云 DNS提供 API 密钥并配置certbot-dns-cloudflare等插件。虽然步骤稍多但它是离线环境下的唯一合规方案。切记不要试图用自签名证书 docker login --insecure-registry来绕过这会彻底禁用 TLS 加密所有镜像拉取/推送都在裸奔严重违反安全基线。4. Harbor 服务端配置的致命细节hostname 与 Nginx 的隐式绑定很多人以为只要harbor.yml里hostname写对了证书也配好了就万事大吉。但 Harbor 的启动脚本./prepare会根据这个hostname自动生成一系列下游配置其中最关键、也最容易被忽视的是 Nginx 的反向代理配置。4.1 hostname 如何驱动 Nginx 配置生成当你执行./prepare时Harbor 的 Python 脚本会读取harbor.yml并基于hostname的值动态生成/opt/harbor/common/config/nginx/conf.d/nginx.conf文件。这个文件的核心作用是将所有发往https://harbor.example.com的请求反向代理到后端的core、registry、portal等容器。我们来看一段生成的 Nginx 配置片段server { listen 443 ssl; server_name harbor.example.com; # ← 这一行至关重要 ssl_certificate /etc/letsencrypt/live/harbor.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/harbor.example.com/privkey.pem; location / { proxy_pass http://core; # ... 其他 proxy_* 配置 } }注意server_name指令。Nginx 的server_name不是一个简单的标签它是一个匹配规则。当一个 HTTPS 请求到达 NginxNginx 会首先检查 TLS 握手时 Client Hello 消息里的Server Name Indication (SNI)字段然后与所有server块的server_name进行匹配。只有匹配成功的server块才会被用来处理这个请求。这意味着如果你在harbor.yml中写的是hostname: harbor.example.com那么生成的 Nginx 配置里server_name就必须是harbor.example.com。如果你在客户端docker login时输入的是harbor.example.com:443或者https://harbor.example.comSNI 字段都会被正确设置为harbor.example.comNginx 能精准匹配。但如果你犯了一个常见错误在harbor.yml里把hostname写成了https://harbor.example.com./prepare脚本会原样照抄生成server_name https://harbor.example.com;。这会导致什么Nginx 根本无法匹配任何 SNI 请求因为 SNI 字段永远是harbor.example.com而不是带协议头的字符串。结果就是所有请求都被丢进 Nginx 的默认server块通常是返回 444 或 503docker login收不到任何有效的 HTTP 响应最终超时。4.2 多域名支持的正确姿势有些场景下你需要让 Harbor 同时响应多个域名比如harbor.example.com供内部使用和registry.prod.example.com供生产环境 CI/CD 使用。你可能会想在harbor.yml的hostname字段里写多个值比如hostname: harbor.example.com, registry.prod.example.com。这是完全错误的。hostname是一个字符串字段不是数组。这样做只会让./prepare生成一个语法错误的server_name。正确的做法是在harbor.yml中hostname只保留一个主域名通常是内部使用的那个然后手动修改 Nginx 配置添加额外的server_name。步骤如下正常配置harbor.ymlhostname: harbor.example.com运行./prepare。编辑生成的 Nginx 配置sudo nano /opt/harbor/common/config/nginx/conf.d/nginx.conf。找到server块将server_name harbor.example.com;修改为server_name harbor.example.com registry.prod.example.com;注意多个域名用空格分隔不要用逗号由于你修改了common/config下的文件它会被docker-compose up挂载进容器所以不需要重新运行./prepare只需重启 Nginx 容器即可sudo docker-compose -f /opt/harbor/docker-compose.yml restart nginx这样无论客户端docker login的是哪个域名Nginx 都能正确路由。但请记住证书的 SAN 字段也必须同时包含这两个域名否则 TLS 校验会失败。申请证书时certbot命令要加上两个-d参数sudo certbot certonly --standalone -d harbor.example.com -d registry.prod.example.com4.3 为什么不能用 IP 直接登录hostname的底层约束最后一个常被问及的问题“我能不能直接docker login 192.168.10.50跳过域名”答案是技术上可以但强烈不建议且会引发一系列连锁问题。首先docker login 192.168.10.50会绕过所有域名相关的 DNS/hosts/SAN 检查直接走 IP 连接。如果 Harbor 的harbor.yml中hostname配置的是harbor.example.com那么./prepare生成的 Nginx 配置里server_name就是harbor.example.com。此时Nginx 收到一个 SNI 为空或为 IP的请求它会将其路由到第一个定义的server块。如果这个块恰好是harbor.example.com的配置它可能“碰巧”工作。但这是一种脆弱的巧合没有任何保障。更严重的问题在于Docker Registry v2 协议规范。Registry 的/v2/端点返回的Docker-Distribution-API-Version头部以及后续的 Blob 上传、Manifest 推送等操作其重定向 URLLocationheader都是基于hostname生成的。如果你用 IP 登录Registry 返回的重定向地址却可能是https://harbor.example.com/v2/...。此时Docker client 会尝试用这个域名去发起新的请求而你的客户端机器很可能又没有为这个域名做好解析和证书信任准备导致推送失败。因此“用 IP 登录”只是一个临时的、不可靠的调试手段。它违背了 Harbor 的设计哲学Harbor 是一个以域名为核心的、面向生产环境的注册中心。一切配置从hostname到证书再到 Nginx都是围绕域名展开的。拥抱域名就是拥抱稳定。5. Docker daemon 级别的终极校准insecure-registries 与 daemon.json 的精细控制当以上所有环节——DNS/hosts、证书 SAN、Nginxserver_name——都确认无误docker login依然失败时问题往往下沉到了 Docker daemon 自身的配置层面。这里没有魔法只有两个核心配置项insecure-registries和registry-mirrors它们共同决定了 daemon 如何对待你输入的harbor.example.com。5.1insecure-registries一把双刃剑insecure-registries是一个白名单列表告诉 Docker daemon“对于列表里的这些 registry即使它们使用 HTTP而非 HTTPS或使用了自签名/无效证书也允许我连接”。它的配置位于/etc/docker/daemon.json。一个典型的错误配置是{ insecure-registries: [harbor.example.com] }这个配置看似解决了问题实则埋下了巨大隐患。它会让 daemon 完全跳过 TLS 校验所有与harbor.example.com的通信都变成明文。这在内网测试环境或许可以接受但在任何有安全审计要求的生产环境中这是绝对禁止的。它等同于在防火墙上开了一个洞让所有镜像的元数据包括敏感的config.json都暴露在抓包工具之下。更隐蔽的错误是有人会把insecure-registries配置成 IP{ insecure-registries: [192.168.10.50] }这同样危险而且它与hostname的语义冲突。insecure-registries的设计初衷是为了解决“使用 HTTP 协议的私有 registry”的问题而不是为了解决“HTTPS 证书不匹配”的问题。如果你的 Harbor 是 HTTPS 的就应该用正确的证书而不是用insecure-registries来掩盖问题。正确的使用场景只有一个你有一个明确的、仅用于开发的、且明确不启用 HTTPS 的 Harbor 实例例如http://harbor-dev.local并且你愿意承担其安全风险。5.2daemon.json的完整配置范本与校验一个健壮、安全的daemon.json应该长这样{ log-driver: json-file, log-opts: { max-size: 10m, max-file: 3 }, insecure-registries: [], registry-mirrors: [https://harbor.example.com], dns: [8.8.8.8, 114.114.114.114] }解释一下每个字段insecure-registries: []显式声明为空数组。这非常重要。很多系统默认的daemon.json是空文件{}Docker daemon 会将其视为“未配置”从而采用内置的默认值通常是空。但显式写成[]是一种强烈的、不容置疑的声明我明确拒绝任何不安全的 registry。这既是安全最佳实践也是在团队协作中的一种“代码即文档”的体现。registry-mirrors这个字段常被误解。它并不是让你把 Harbor 当作“镜像加速器”来用那是registry-mirrors的另一个用途而是告诉 daemon“当你拉取一个library/ubuntu这样的官方镜像时先去https://harbor.example.com找找找不到再回 Docker Hub”。但对于harbor.example.com/myapp:latest这种明确指定了 registry 的镜像registry-mirrors是完全不生效的。所以把它配置成 Harbor 地址对docker login本身没有帮助但它能提升整体镜像拉取效率。dns如前所述这是为 daemon 指定 DNS 服务器绕过系统可能存在的 DoH 或搜索域污染问题。8.8.8.8和114.114.114.114是全球公认的、可靠的公共 DNS。配置完成后必须重启 Docker daemon 才能生效# Linux (systemd) sudo systemctl daemon-reload sudo systemctl restart docker # macOS (Docker Desktop) # 需要在 Docker Desktop 的 GUI 设置里修改然后点击 Apply Restart重启后可以用以下命令验证配置是否加载成功# 查看 daemon 的实时配置 sudo docker info | grep -A 10 Insecure Registries # 查看当前 daemon 的 DNS 配置 sudo docker info | grep -A 5 DNS Servers5.3 一个被遗忘的角落Docker Desktop for Mac/Windows 的特殊性如果你在 macOS 或 Windows 上使用 Docker Desktop事情会变得稍微复杂一点。Docker Desktop 并不是一个原生的 Linux daemon而是一个运行在虚拟机HyperKit 或 WSL2里的轻量级 Linux 系统。这意味着/etc/docker/daemon.json文件实际上位于这个虚拟机内部而不是你的宿主机 macOS/Windows 的文件系统里。因此在 Docker Desktop 上修改daemon.json不能直接编辑宿主机上的文件。你必须通过 Docker Desktop 的图形界面macOS点击右上角鲸鱼图标 →Settings→Docker Engine→ 在 JSON 编辑器里修改 →Apply Restart。Windows右键任务栏图标 →Settings→Docker Engine→ 同上。如果你强行在宿主机上编辑了一个daemon.jsonDocker Desktop 会完全无视它。这也是为什么很多 Mac 用户抱怨“改了daemon.json没用”因为他们编辑的是宿主机的文件而 Docker Desktop 的 daemon 根本看不到。此外Docker Desktop 的网络栈是独立的。你在 macOS 宿主机/etc/hosts里添加的harbor.example.com映射并不会自动同步到 Docker Desktop 的虚拟机里。所以你必须在 Docker Desktop 的Settings→Resources→Hosts file里手动添加相同的映射行或者更推荐的做法是直接在 Docker Desktop 的Docker Engine配置里通过dns字段指定一个能解析harbor.example.com的 DNS 服务器。最后分享一个我踩过的坑某次升级 Docker Desktop 后daemon.json的配置被重置为默认值insecure-registries又变回了空。我当时没注意docker login突然又开始报证书错误折腾了半小时才想起来去检查 Docker Desktop 的设置。所以我的经验是把daemon.json的最终版本当作一份重要的基础设施配置和harbor.yml一起纳入 Git 版本控制。每次部署新环境第一件事就是scp过去并重启 daemon。

相关新闻

Harbor跨主机登录失败?域名、证书、Docker配置三要素全解析

Harbor跨主机登录失败?域名、证书、Docker配置三要素全解析

1. 项目概述:为什么必须用域名login打通Harbor的跨主机访问Harbor不是装完就能用的镜像仓库,它是个“有脾气”的企业级服务——本地docker login localhost:8080能通,换台机器docker login harbor.example.com就报错“x509 certificate signe…

2026/10/14 15:41:42 阅读更多 →
AIDE文件完整性校验实战:从初始化到可信检测的完整链路

AIDE文件完整性校验实战:从初始化到可信检测的完整链路

1. 这不是“装个软件就完事”的安全操作——AIDE入侵检测到底在防什么、怎么防才真正有效你可能在某次服务器巡检时看到过这样的告警:“/etc/passwd 文件 mtime 发生变更”;也可能在安全加固文档里反复读到“必须部署文件完整性校验机制”;甚…

2026/10/14 15:41:42 阅读更多 →
SSM+JSP+Layui问卷系统快速落地实践

SSM+JSP+Layui问卷系统快速落地实践

简介:这是一套完整的Java Web问卷调查系统实战项目,面向Java初学者与SSM框架学习者,聚焦Web应用开发全流程实践,涵盖需求分析、前后端开发、数据库设计与部署上线等核心环节。资源包共847个文件,含138个JS脚本&#xf…

2026/10/14 15:41:42 阅读更多 →

最新新闻

Linux下Modbus TCP服务端实战:寄存器规划与数据采集指南

Linux下Modbus TCP服务端实战:寄存器规划与数据采集指南

简介:基于Linux平台的TCPModbus服务端实现,面向工业自动化开发人员、嵌入式工程师及Modbus协议学习者,用于解决各类工业设备通过TCP/IP网络与上位机或PLC进行数据通信的需求。服务端覆盖输入寄存器(0x04)、离散输入&am…

2026/10/14 16:24:36 阅读更多 →
Linux 下用 nvm 升级 Node.js 到指定版本:安装、切换与回滚全指南

Linux 下用 nvm 升级 Node.js 到指定版本:安装、切换与回滚全指南

前阵子帮人处理一台 Linux 服务器,对方想跑一个依赖 Node.js 新特性的工具,结果node -v打出来还是 18.x。按老思路,要么用系统包管理器升级,要么去官网下二进制包直接替换,可那是台带着线上服务的机器,谁也…

2026/10/14 16:24:36 阅读更多 →
短视频虚假宣传判定标准更新,带货博主内容合规要点梳理

短视频虚假宣传判定标准更新,带货博主内容合规要点梳理

短视频带货是直播电商自媒体很常用的变现方式,创作者靠着短视频介绍商品,引导消费者下单购买。现在带货类的内容数量越来越多,平台更新了短视频虚假宣传的判定标准,不少带货博主都在翻看这份新规,不想让自己的账号受到…

2026/10/14 16:24:36 阅读更多 →
光芯片太火,连卖百货的都坐不住了

光芯片太火,连卖百货的都坐不住了

导语:东百集团准备拿出3.16亿元跨界“追光”。一家做了多年百货、购物中心和仓储物流生意的上市公司,突然决定去买光芯片。10月11日晚,东百集团披露,公司全资子公司东百创智拟以3.16亿元,收购杭州快灵光电科技有限公司…

2026/10/14 16:24:36 阅读更多 →
影策3D导演台教程:生成前先摆场走位运镜,短剧镜头规划神器

影策3D导演台教程:生成前先摆场走位运镜,短剧镜头规划神器

人工智能AI 应用媒体生成音视频工作流自动化后端前端 【免费下载链接】open-ai-canvas 【影策】面向 AI 影视创作的开源无限画布工作台,集成多模态生成、分镜编排、素材管理与 Agent 工作流。 项目地址: https://gitcode.com/gh_mirrors/op/open-ai-canv…

2026/10/14 16:24:36 阅读更多 →
[特殊字符] AI学会绕锁!小白程序员必看:网络安全新挑战与收藏指南

[特殊字符] AI学会绕锁!小白程序员必看:网络安全新挑战与收藏指南

🔒 AI学会绕锁!小白程序员必看:网络安全新挑战与收藏指南 本文探讨了AI模型Claude Haiku 4.5在测试中绕过禁令,提交虚假警情至费城警方的案例。文章分析了模型未违规的原因,即禁令中缺少“不许提交表单”的规定。Anth…

2026/10/14 16:23:35 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →