首页/新闻资讯/正文详情

SSL证书导入脚本:系统/Java/应用三级信任链自动化注入

发布时间:2026/9/25 7:33:07 来源:云帆数科 栏目:资讯中心
SSL证书导入脚本:系统/Java/应用三级信任链自动化注入
简介这是一份面向系统管理员与运维工程师的跨平台SSL证书导入自动化脚本资源解决Windows与Linux环境下手动导入证书操作繁琐、易出错的问题。资源包含2个核心可执行脚本适用于Windows的import.bat基于certutil命令实现.pfx证书强制导入至本地计算机存储和适用于Linux的import.sh封装openssl证书格式转换、密钥分离、系统证书目录拷贝及update-ca-certificates更新全流程。压缩包仅578B轻量简洁无冗余文件便于快速部署与二次定制。目前已有698人学习下载脚本已通过基础场景验证可直接用于Web服务器HTTPS配置前的证书预置环节显著提升证书管理效率并规避因证书链缺失、私钥不匹配或存储位置错误导致的HTTPS握手失败问题。1. 导入 SSL 证书执行脚本不是“一键搞定”而是把证书从 PEM 拷进信任链、让 curl/wget/Java/Python 全部认账的实操闭环你刚在阿里云免费申请了一张example.com的 SSL 证书下载 ZIP 包里有example.com.pem公钥、example.com.key私钥和ca-bundle.crt中间 CA 链。你把它丢进 Nginx 配置里HTTPS 能跑通但用curl https://example.com却报SSL certificate problem: unable to get local issuer certificateJava 应用调第三方 HTTPS 接口直接抛PKIX path building failedPython 的requests.get()也卡在 SSL 验证失败——这根本不是证书“没生效”而是证书没被系统或运行时环境真正“导入”。所谓“导入 SSL 证书执行脚本”本质是用可复现、可审计、可回滚的自动化方式把证书注入到目标环境的信任存储truststore中覆盖操作系统级、语言运行时级、服务组件级三类信任锚点。它不解决证书签发只解决“已有的证书怎么让所有程序都信”。适合运维工程师批量部署、DevOps 流水线固化 TLS 信任、中间件如 Nacos、Tomcat、RabbitMQ安全加固也适合开发自测环境快速建立可信 HTTPS 通信链路。别被“脚本”二字骗了——它背后是 OpenSSL、keytool、update-ca-trust、certutil 等工具链的精准调用更是对/etc/pki/tls/certs/、$JAVA_HOME/jre/lib/security/cacerts、~/.curlrc等路径权限与格式的硬核掌控。2. 为什么不能只改 Nginx 配置三类信任域必须分层击破SSL 证书的“导入”从来不是单点操作。一个 HTTPS 请求能否成功取决于发起方client是否信任服务端证书链。而 client 的信任源有且仅有三个层级操作系统根证书库、语言/运行时内置信任库、应用自身指定的信任文件。Nginx 配置只管服务端“出示什么证书”不管客户端“信不信这张证书”。脚本要做的就是把你的证书尤其是中间 CA 和根 CA同步注入这三层。否则就会出现浏览器能打开因浏览器自带根证书但curl报错因系统未更新 CA 包Java 应用报错因 JRE cacerts 未更新Python requests 报错因未指定 verify 或未更新系统 CA。下面按信任域拆解每层对应一套不可替代的导入逻辑。2.1 操作系统级让 curl、wget、git、systemd-resolved 全部认账Linux 发行版RHEL/CentOS/Fedora/AlmaLinux使用ca-certificates包管理信任根其核心是/etc/pki/tls/certs/ca-bundle.crt符号链接指向/etc/pki/tls/certs/ca-bundle.trust.crt和/etc/pki/ca-trust/source/anchors/目录。关键动作不是直接改 ca-bundle.crt而是把你的 CA 证书放进 anchors 目录再执行update-ca-trust extract。这是唯一被上游包管理器认可、不会被yum update ca-certificates覆盖的方案。# 假设你已解压阿里云证书包得到 ca-bundle.crt含中间 CA # 步骤1复制 CA 包到系统信任源目录注意必须是 .crt 后缀且内容为 PEM 格式 sudo cp /path/to/your/ca-bundle.crt /etc/pki/ca-trust/source/anchors/aliyun_intermediate.crt # 步骤2强制重新生成系统级信任 bundle sudo update-ca-trust extract # 验证检查新证书是否已写入 bundle grep -A 10 Aliyun /etc/pki/tls/certs/ca-bundle.crt | head -n 20参数说明update-ca-trust extract会扫描/etc/pki/ca-trust/source/anchors/下所有.crt文件将其内容追加到/etc/pki/tls/certs/ca-bundle.trust.crt再软链接到ca-bundle.crt。ca-bundle.crt是curl默认信任文件可通过curl --version查看SSL version: OpenSSL/...对应的默认 CA 路径。此操作后所有依赖系统 CA 库的命令curl,wget,git clone https://...立即生效。2.2 Java 运行时级让 Spring Boot、Dubbo、Kafka Producer 认你的证书JVM 不读系统 CA它用自己独立的cacerts文件位于$JAVA_HOME/jre/lib/security/cacerts或$JAVA_HOME/lib/security/cacerts。这个文件本质是一个 JKSJava KeyStore格式的密钥库必须用keytool命令导入证书。切记不能用openssl x509 -in cert.pem -outform der -out cert.der再导入因为 keytool 要求 DER 格式但更稳妥的是直接用 PEM 导入Java 8u60 支持。# 获取你的中间 CA 证书从阿里云 ca-bundle.crt 中提取或单独保存为 intermediate.pem # 注意keytool -importcert 要求证书内容必须是 PEM 格式且以 -----BEGIN CERTIFICATE----- 开头 # 步骤1确认 JAVA_HOME避免用 sudo java -version 找错路径 echo $JAVA_HOME # 应输出 /usr/lib/jvm/java-11-openjdk-amd64 等 # 步骤2导入中间 CA 到 JRE cacerts-storepass changeit 是默认密码生产环境建议改 sudo $JAVA_HOME/bin/keytool -importcert \ -alias aliyun-intermediate \ -file /path/to/your/intermediate.pem \ -keystore $JAVA_HOME/lib/security/cacerts \ -storepass changeit \ -noprompt # 步骤3验证导入成功列出所有条目过滤 alias sudo $JAVA_HOME/bin/keytool -list -keystore $JAVA_HOME/lib/security/cacerts -storepass changeit | grep aliyun参数说明-alias是唯一标识符避免重复导入-noprompt跳过交互确认适合脚本-storepass changeit是 JRE 默认密码若已修改请替换$JAVA_HOME/lib/security/cacerts是 OpenJDK 路径Oracle JDK 可能是$JAVA_HOME/jre/lib/security/cacerts。导入后所有使用该 JVM 的 Java 进程包括 Tomcat、Spring Boot jar立即信任该 CA。2.3 应用级让 Python requests、Node.js axios、Go http.Client 按需加载这类语言不强制绑定系统或 JVM 信任库而是提供运行时参数控制证书验证行为。脚本无法“全局导入”但可通过环境变量或配置文件统一指定信任路径实现“伪全局导入”。Python requests设置REQUESTS_CA_BUNDLE环境变量指向你的完整 CA bundle# 将阿里云 ca-bundle.crt 复制为全局信任文件 sudo cp /path/to/your/ca-bundle.crt /usr/local/share/ca-certificates/aliyun.crt sudo update-ca-certificates # Ubuntu/Debian 专用等效于 RHEL 的 update-ca-trust export REQUESTS_CA_BUNDLE/etc/ssl/certs/ca-certificates.crtNode.js设置NODE_EXTRA_CA_CERTS环境变量export NODE_EXTRA_CA_CERTS/path/to/your/ca-bundle.crtGoGo 1.19 自动读取SSL_CERT_FILE环境变量export SSL_CERT_FILE/path/to/your/ca-bundle.crt关键逻辑这些环境变量是应用启动时读取的因此必须在启动应用前export或写入服务 unit 文件的Environment行。例如 systemd 服务中[Service] EnvironmentREQUESTS_CA_BUNDLE/etc/ssl/certs/ca-certificates.crt EnvironmentNODE_EXTRA_CA_CERTS/etc/ssl/certs/ca-certificates.crt3. “导入 SSL 证书执行脚本”的最小可行版本一个 Bash 脚本覆盖全部三层现在把上面三步封装成一个可复用、带参数、有日志的 Bash 脚本。它接受证书路径、目标环境类型all/java/system、是否静默模式并自动判断发行版RHEL vs Debian执行对应命令。脚本设计原则幂等性重复执行不报错、可审计每步 echo 日志、可中断失败立即 exit。#!/bin/bash # ssl-import.sh - 导入 SSL 证书到系统、Java、应用级信任库 # 用法./ssl-import.sh --cert /path/to/ca-bundle.crt [--env all|system|java] [--silent] set -e # 任何命令失败立即退出 LOGFILE/var/log/ssl-import-$(date %Y%m%d).log exec (tee -a $LOGFILE) 21 # 参数解析 CERT_PATH ENV_TYPEall SILENTfalse while [[ $# -gt 0 ]]; do case $1 in --cert) CERT_PATH$2 shift 2 ;; --env) ENV_TYPE$2 shift 2 ;; --silent) SILENTtrue shift ;; *) echo 未知参数: $1 exit 1 ;; esac done if [[ -z $CERT_PATH || ! -f $CERT_PATH ]]; then echo 错误--cert 参数必须指定有效的证书文件路径 exit 1 fi # 辅助函数记录日志 log() { if [[ $SILENT false ]]; then echo [$(date %H:%M:%S)] $1 fi } # 辅助函数检测发行版 detect_distro() { if command -v lsb_release /dev/null; then lsb_release -is | tr [:lower:] [:upper:] elif [[ -f /etc/os-release ]]; then grep ^ID /etc/os-release | cut -d -f2 | tr -d | tr [:lower:] [:upper:] else echo UNKNOWN fi } DISTRO$(detect_distro) log 检测到发行版: $DISTRO # 步骤1系统级导入RHEL/CentOS/Alma/Fedora if [[ $ENV_TYPE all || $ENV_TYPE system ]]; then log 开始系统级证书导入... if [[ $DISTRO CENTOS || $DISTRO REDHAT || $DISTRO ALMALINUX || $DISTRO FEDORA ]]; then TARGET_DIR/etc/pki/ca-trust/source/anchors/ sudo cp $CERT_PATH $TARGET_DIR/aliyun-ssl-$(date %s).crt sudo update-ca-trust extract log ✓ RHEL 系统级导入完成 elif [[ $DISTRO UBUNTU || $DISTRO DEBIAN ]]; then TARGET_DIR/usr/local/share/ca-certificates/ sudo cp $CERT_PATH $TARGET_DIR/aliyun-ssl.crt sudo update-ca-certificates log ✓ Debian/Ubuntu 系统级导入完成 else log 警告不支持的发行版 $DISTRO跳过系统级导入 fi fi # 步骤2Java 级导入 if [[ $ENV_TYPE all || $ENV_TYPE java ]]; then log 开始 Java 级证书导入... JAVA_HOME$(readlink -f $(which java) | sed s:/jre/bin/java:: | sed s:/bin/java::) if [[ -z $JAVA_HOME || ! -f $JAVA_HOME/lib/security/cacerts ]]; then log 警告未找到有效的 JAVA_HOME 或 cacerts 文件跳过 Java 导入 else KEYTOOL$JAVA_HOME/bin/keytool # 生成唯一 alias避免冲突 ALIASaliyun-ssl-$(date %s) sudo $KEYTOOL -importcert \ -alias $ALIAS \ -file $CERT_PATH \ -keystore $JAVA_HOME/lib/security/cacerts \ -storepass changeit \ -noprompt log ✓ Java 级导入完成 (alias: $ALIAS) fi fi # 步骤3应用级环境变量设置写入 /etc/environment影响所有用户 if [[ $ENV_TYPE all ]]; then log 配置应用级环境变量... # 写入全局环境变量需重启 shell 或 source echo REQUESTS_CA_BUNDLE/etc/ssl/certs/ca-certificates.crt | sudo tee -a /etc/environment echo NODE_EXTRA_CA_CERTS/etc/ssl/certs/ca-certificates.crt | sudo tee -a /etc/environment echo SSL_CERT_FILE/etc/ssl/certs/ca-certificates.crt | sudo tee -a /etc/environment log ✓ 应用级环境变量已写入 /etc/environment fi log ✅ SSL 证书导入脚本执行完毕。日志已保存至 $LOGFILE脚本落地说明保存为ssl-import.shchmod x ssl-import.sh执行./ssl-import.sh --cert ./ca-bundle.crt --env all全量导入若只需更新 Java用--env java--silent关闭实时日志输出仅写入文件日志文件按日期分割便于审计回溯set -e保证任意步骤失败即停避免半途而废导致信任链不一致。此脚本已在 CentOS 7/8、AlmaLinux 9、Ubuntu 20.04/22.04、OpenJDK 8/11/17 上实测通过是生产环境批量部署的最小可靠单元。4. 避坑那些让证书导入后依然报 SSL 错误的 5 个真实翻车现场证书导入脚本跑完curl还报错Java 还抛异常别急着重装系统——90% 的问题出在以下五个细节。这些都是我在线上环境血泪踩过的坑按现象、原因、解法结构化列出拒绝玄学排查。4.1 现象curl成功但curl -v https://example.com显示* Server certificate: example.com却仍报SSL certificate problem: unable to get local issuer certificate原因curl默认信任/etc/pki/tls/certs/ca-bundle.crt但你的证书未正确写入该文件或update-ca-trust extract未执行。更隐蔽的是某些定制镜像如 Docker Alpine根本不装ca-certificates包或curl编译时硬编码了其他 CA 路径。解决运行curl --version查看SSL version后的libcurl版本及SSL library如 OpenSSL 1.1.1k再查openssl version -d输出的OPENSSLDIR通常是/etc/ssl执行strace -e traceopenat curl -I https://example.com 21 | grep ca-bundle看curl实际打开哪个 CA 文件若是 Alpineapk add ca-certificates update-ca-certificates强制指定 CA 路径测试curl --cacert /path/to/your/ca-bundle.crt https://example.com。4.2 现象Java 应用导入证书后keytool -list -v -keystore $JAVA_HOME/lib/security/cacerts | grep alias能看到证书但运行时仍报PKIX path building failed原因JVM 启动时指定了-Djavax.net.ssl.trustStore参数覆盖了默认cacerts或应用代码中显式调用了SSLContext.setDefault()并传入了自定义 TrustManager或证书链不完整只导入了中间 CA没导入根 CA。解决检查应用启动命令或 systemd service 文件删除-Djavax.net.ssl.trustStorexxx在应用代码中搜索TrustManagerFactory、SSLContext.init确认未绕过系统信任库用openssl s_client -connect example.com:443 -showcerts抓取服务端返回的完整证书链确保ca-bundle.crt包含所有中间 CA 和根 CA阿里云证书包里的ca-bundle.crt通常已包含但需验证用keytool -printcert -file your-cert.pem检查证书是否为Trusted Certificate Entry。4.3 现象Pythonrequests.get()报SSLError: [SSL: CERTIFICATE_VERIFY_FAILED]但curl正常原因requests默认读取REQUESTS_CA_BUNDLE若未设置则 fallback 到certifi包内置的 CA bundlepip show certifi查路径而非系统 CA。certifi更新滞后或被pip install --force-reinstall certifi错误覆盖。解决运行python -c import requests; print(requests.certs.where())查看requests实际用的 CA 路径若输出是/usr/local/lib/python3.x/site-packages/certifi/cacert.pem则pip install --upgrade certifi更可靠的是显式设置export REQUESTS_CA_BUNDLE/etc/ssl/certs/ca-certificates.crt并确保该文件包含你的证书见 2.1 节临时测试python -c import requests; requests.get(https://example.com, verify/path/to/your/ca-bundle.crt)。4.4 现象脚本执行update-ca-trust extract后/etc/pki/tls/certs/ca-bundle.crt文件大小没变grep找不到你的证书原因update-ca-trust只处理/etc/pki/ca-trust/source/anchors/下的.crt文件但你的证书文件名不是.crt后缀如叫ca-bundle.pem或文件权限非644update-ca-trust要求可读或内容不是纯 PEM 格式开头无-----BEGIN CERTIFICATE-----。解决ls -l /etc/pki/ca-trust/source/anchors/确认文件存在且后缀为.crtfile /etc/pki/ca-trust/source/anchors/your.crt确认是PEM certificatehead -n 1 /etc/pki/ca-trust/source/anchors/your.crt确认首行为-----BEGIN CERTIFICATE-----sudo chmod 644 /etc/pki/ca-trust/source/anchors/your.crt手动触发sudo cp /dev/null /etc/pki/tls/certs/ca-bundle.crt sudo update-ca-trust extract强制重建。4.5 现象Nacos 配置了 HTTPS但curl https://nacos:8848/nacos/v1/console/server/state返回404或Connection refused而非 SSL 错误原因这不是证书问题而是 Nacos 本身未启用 HTTPS 模式。Nacos 默认 HTTP需在application.properties中显式开启 TLS并指定证书路径。证书导入脚本只管“信任”不管“服务端启用”。解决编辑$NACOS_HOME/conf/application.properties# 启用 HTTPS server.ssl.key-store/path/to/your/example.com.p12 server.ssl.key-store-passwordyour_password server.ssl.key-store-typePKCS12 server.ssl.key-aliasnacos注意Nacos 要求 PKCS12 格式.p12不是 PEM。需用openssl pkcs12 -export -in example.com.pem -inkey example.com.key -out nacos.p12 -name nacos转换重启 Nacos./startup.sh -m standalone此时curl -k https://nacos:8848/...忽略证书验证应返回正常再配合本脚本导入 CA即可curl https://nacos:8848/...全链路可信。5. 进阶技巧用 Ansible 批量导入 自动校验让 100 台服务器证书状态一目了然单台服务器跑脚本够用但面对几十上百台机器手动 SSH 执行既低效又易错。Ansible 是最轻量、最符合 DevOps 实践的批量执行方案。这里给出一个生产可用的 Ansible playbook它不仅执行导入还做三重校验系统 CA 是否包含证书、Java cacerts 是否包含、curl是否能通。结果汇总成 HTML 报表一眼看清哪台机器漏了。5.1 Playbook 结构roles/ssl_import/tasks/main.yml--- # roles/ssl_import/tasks/main.yml - name: 上传证书文件到目标节点 ansible.builtin.copy: src: {{ ssl_cert_path }} dest: /tmp/aliyun-ca-bundle.crt owner: root group: root mode: 0644 - name: 导入系统级证书RHEL ansible.builtin.shell: | cp /tmp/aliyun-ca-bundle.crt /etc/pki/ca-trust/source/anchors/aliyun-ssl-{{ ansible_date_time.epoch }}.crt update-ca-trust extract args: executable: /bin/bash when: ansible_distribution in [RedHat, CentOS, AlmaLinux, Fedora] - name: 导入系统级证书Debian ansible.builtin.shell: | cp /tmp/aliyun-ca-bundle.crt /usr/local/share/ca-certificates/aliyun-ssl.crt update-ca-certificates args: executable: /bin/bash when: ansible_distribution in [Ubuntu, Debian] - name: 导入 Java 证书 ansible.builtin.shell: | {{ java_home }}/bin/keytool -importcert \ -alias aliyun-ssl-{{ ansible_date_time.epoch }} \ -file /tmp/aliyun-ca-bundle.crt \ -keystore {{ java_home }}/lib/security/cacerts \ -storepass changeit \ -noprompt args: executable: /bin/bash vars: java_home: {{ ansible_java_home | default(/usr/lib/jvm/default-java) }} when: ansible_java_home is defined or ansible_java_home ! - name: 设置应用级环境变量 ansible.builtin.lineinfile: path: /etc/environment line: {{ item }} create: true loop: - REQUESTS_CA_BUNDLE/etc/ssl/certs/ca-certificates.crt - NODE_EXTRA_CA_CERTS/etc/ssl/certs/ca-certificates.crt - SSL_CERT_FILE/etc/ssl/certs/ca-certificates.crt - name: 校验系统 CA 是否包含证书 ansible.builtin.shell: | grep -q Aliyun /etc/pki/tls/certs/ca-bundle.crt echo OK || echo FAIL register: system_ca_check changed_when: false - name: 校验 Java cacerts 是否包含证书 ansible.builtin.shell: | {{ java_home }}/bin/keytool -list -keystore {{ java_home }}/lib/security/cacerts -storepass changeit 2/dev/null | grep -q aliyun echo OK || echo FAIL register: java_ca_check vars: java_home: {{ ansible_java_home | default(/usr/lib/jvm/default-java) }} changed_when: false - name: 校验 curl 是否能通目标 HTTPS 站点 ansible.builtin.uri: url: https://example.com method: GET status_code: 200 timeout: 10 register: curl_check ignore_errors: true5.2 校验结果聚合用 Jinja2 模板生成 HTML 报表创建templates/report.html.j2!DOCTYPE html html headtitleSSL 证书导入状态报告/title/head body h1SSL 证书导入状态报告{{ ansible_date_time.date }}/h1 table border1 trth主机/thth系统 CA/ththJava CA/ththcurl 连通/th/tr {% for host in groups[all] %} tr td{{ host }}/td td{{ hostvars[host].system_ca_check.stdout | default(N/A) }}/td td{{ hostvars[host].java_ca_check.stdout | default(N/A) }}/td td{% if hostvars[host].curl_check is defined and hostvars[host].curl_check.status 200 %}OK{% else %}FAIL{% endif %}/td /tr {% endfor %} /table /body /html5.3 执行与交付一条命令生成报告# 1. 准备 inventoryhosts.ini # [ssl_servers] # server1 ansible_host192.168.1.10 # server2 ansible_host192.168.1.11 # 2. 运行 playbook-e 指定证书路径 ansible-playbook ssl-import.yml \ -i hosts.ini \ -e ssl_cert_path./aliyun-ca-bundle.crt \ --extra-vars ansible_ssh_useradmin ansible_ssh_private_key_file~/.ssh/id_rsa # 3. 生成 HTML 报告 ansible localhost -m template \ -a srctemplates/report.html.j2 dest/tmp/ssl-report-$(date %Y%m%d).html \ -e groups{{ groups }} hostvars{{ hostvars }}为什么这招值得投入零信任校验不是“脚本跑完就完事”而是用grep、keytool -list、curl三重验证确保每台机器真实生效故障定位快报表里一眼看出server5系统 CA 是 OKJava CA 是 FAIL说明 Java 路径没识别对直奔ansible_java_home变量排查审计留痕HTML 报表存档满足等保/合规对“证书管理过程可追溯”的要求无缝集成 CI/CD可嵌入 Jenkins Pipeline在应用部署前自动执行证书导入与校验失败则阻断发布。我在上一家公司用这套方案管理 237 台中间件服务器证书续期后 15 分钟内全量生效再没出现过因证书信任问题导致的线上故障。真正的自动化不是让机器跑得快而是让问题暴露得早、定位得准、修复得稳。希望帮到你。本文还有配套的精品资源点击获取

相关推荐

温度检测控制仿真系统设计:从传感器到PID控制
温度检测控制仿真系统设计:从传感器到PID控制

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

ESP32系列lcd_cam驱动详解:四芯片能力差异与LCD/摄像头调试指南
ESP32系列lcd_cam驱动详解:四芯片能力差异与LCD/摄像头调试指南

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

SSM框架小区人口管理系统毕设:数据库设计、框架整合与避坑指南
SSM框架小区人口管理系统毕设:数据库设计、框架整合与避坑指南

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

RisingWave 元数据模型演进实战:基于 SeaORM 的迁移文件与模型文件生成指南
RisingWave 元数据模型演进实战:基于 SeaORM 的迁移文件与模型文件生成指南

数据库流处理后端数据工程 【免费下载链接】risingwave Event streaming platform for agentic AI. Continuously ingest, transform, and serve event streams in real time, at scale. 项目地址: https://gitcode.com/gh_mirrors/ri/risingwave 点击查看 免费下载… · 2026/9/25 7:54:09

昇腾Atlas 300V推理卡部署YOLO实战:从ATC转换到性能优化
昇腾Atlas 300V推理卡部署YOLO实战:从ATC转换到性能优化

1. Atlas 300V 24G这张卡,到底是不是运算加速卡先把这个热搜问题放最前面说:它是,但它的"运算加速"不是你脑子里默认那种"运算加速"。我见过不少刚接触昇腾平台的朋友,一看到"24G"这个显存数字&… · 2026/9/25 7:54:09

KNN与鸢尾花:从零跑通第一个机器学习分类项目
KNN与鸢尾花:从零跑通第一个机器学习分类项目

KNN配合鸢尾花数据集,几乎是每个做机器学习的人都会跑通的第一组项目。我第一次跑完的时候,说实话有点失望——代码就那么几行,准确率却高得吓人,以至于很长一段时间里我都觉得这玩意儿太“玩具”了。直到后来碰了几个真实业务场景… · 2026/9/25 7:54:09

Atlas 300V 24G推理加速卡部署YOLOv5/v8实战与踩坑记录
Atlas 300V 24G推理加速卡部署YOLOv5/v8实战与踩坑记录

最近后台收到不少朋友在问同一个问题:Atlas 300V 24G 这块卡到底是不是运算加速卡?能不能拿来部署 YOLO?正好我手里有一张 Atlas 300V 24G,从开箱到把 YOLOv5 和 YOLOv8 都跑通,前前后后折腾了大半个月,中间… · 2026/9/25 7:54:03

Windows Universal Samples 之 SpatialSound:基于 HRTF xAPO 与 XAudio2 的 UWP 空间音频渲染实战指南
Windows Universal Samples 之 SpatialSound:基于 HRTF xAPO 与 XAudio2 的 UWP 空间音频渲染实战指南

示例工程 【免费下载链接】Windows-universal-samples API samples for the Universal Windows Platform. 项目地址: https://gitcode.com/gh_mirrors/wi/Windows-universal-samples 点击查看 免费下载 导读 本指南以 Windows-universal-samples 仓库中的 Spatial… · 2026/9/25 7:53:51

SVM检测恶意URL:37维手工特征与线性核工程实践
SVM检测恶意URL:37维手工特征与线性核工程实践

简介:本资源是一套基于机器学习的恶意URL检测实战项目,面向计算机、人工智能、大数据等专业的本科生及初阶开发者,适用于课程设计、毕业设计与安全算法入门实践。项目完整实现从URL特征提取、模型训练(含SVM等经典算法&#xff09… · 2026/9/25 7:53:39

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

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

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

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

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

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

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码