Nginx的两种CA配置有什么区别:mTLS信任与客户端CA名称列表

SAP PI/PO HTTPS集成:Java信任链与SSL证书配置实战指南 HTTPS作为保障网络通信安全的核心协议,其基础是SSL/TLS协议与公钥基础设施(PKI)构建的信任体系。在Java环境中,SSL/TLS握手过程严格依赖信任库(Keystore)机制来验证服务器证书的合法性,任何证书链的断裂或根证书的缺失都会导致连接失败。这一机制在SAP PI/PO这类企业中间件平台中尤为重要,因为其默认的Java信任库(cacerts)通常只包含少数权威CA证书,而企业集成常涉及自签名证书、私有CA或特定区域CA,这构成了SSL握手失败的主要根源。从工程实践角度看,解决此类问题的关键 阅读详情

mTLS配置里,CA放进ssl_trusted_certificate后,客户端看到的名称列表却没变;CA没出现在列表里,它签发的证书仍可能被接受。别急着认定配置没加载:“提示客户端选证”和“服务端信任谁”不是一回事。

用隔离Nginx验证,避免把提示列表当授权白名单。

一、先区分三个方向

普通HTTPS中客户端验证服务端;mTLS再增加反方向验证。本文使用独立服务端CA和客户端CA A、CA B,避免混淆信任方向。

ssl_certificate配置服务端证书;两种CA指令配置服务端验证客户端等用途的材料。curl的--cacert则用于客户端验证服务端。都有CA二字,方向不同。

mTLS信任材料、CA名称列表与实际结果三个检查对象

图为独立检查点,不是完整流程。名称列表与信任CA可相同也可不同,不能只凭列表推断。加载材料不代表验证通过,通过也不等于业务授权。

二、两个指令到底差在哪里

Nginx官方文档说明,两者都加载PEM格式的可信CA,用于验证客户端证书,也可用于启用装订时验证OCSP响应。区别是:ssl_client_certificate设置的CA名称列表会发给客户端;ssl_trusted_certificate加入的CA不会因此进入该列表。

对象核心职责不能据此推断
ssl_client_certificate加载信任材料并提供CA名称列表列表就是全部授权对象
ssl_trusted_certificate补充服务端信任材料只供OCSP使用、不影响mTLS
ssl_verify_client on要求并验证客户端证书业务接口已授权该身份

这里的列表是CertificateRequest里的可接受CA名称,不是把所有根证书原文发出去。RFC5246第7.4.4节把TLS1.2字段定义为DER编码的X.501名称。本文固定TLS1.2观测,不把同一输出格式套到所有TLS版本。

三、用两套客户端CA搭一个对照

准备由服务端CA签发、含api.example.test名称的server.pem及对应密钥;再准备客户端CA A、CA B与分别由它们签发、具有clientAuth用途的客户端证书。CA公钥文件和客户端私钥分开保存,示例路径仅供隔离实验。

下面是server片段,放入独立http上下文,不是可直接覆盖生产的完整配置。相对路径按独立Nginx配置目录解析;端口18443需换成自己的空闲回环端口。实际测试使用随机端口,私钥只存在于临时目录。

server {
    listen 127.0.0.1:18443 ssl;
    server_name api.example.test;
    ssl_protocols TLSv1.2;
    ssl_certificate server.pem;
    ssl_certificate_key server.key;
    ssl_client_certificate client-b-ca.pem;
    ssl_trusted_certificate client-a-ca.pem;
    ssl_verify_client on;
    ssl_verify_depth 2;
    location / { return 200 "$ssl_client_verify\n"; }
}

关键点:B进入可接受CA名称列表,A通过trusted配置加入信任。不要把B当作无效占位符:它同时是实际信任材料,B签发的合格客户端证书也可能通过。把旧CA从名称列表移走,却留在trusted文件里,不等于撤销信任。

四、先看握手提示,再看验证

在材料目录执行命令,显式使用A证书并验证服务端名称和链。保留verify_return_error,不能只看一行Verify return code: 0。

openssl s_client -connect 127.0.0.1:18443 \
  -servername api.example.test -tls1_2 \
  -CAfile server-ca.pem -no-CApath \
  -verify_hostname api.example.test -verify_return_error \
  -cert client-a.pem -key client-a.key </dev/null

检查Acceptable client certificate CA names段:本例有B而无A,与服务端Certificate chain是不同对象。显式传入证书不同于浏览器自动选证,不能保证浏览器自动挑到A。

五、HTTP结果必须单独读

s_client用于检查握手信息,随文命令没有发送HTTP请求。要验证Nginx是否真正接受该客户端,再执行curl;此处不使用-k,也不关闭客户端验证。

curl --noproxy '*' --tlsv1.2 --tls-max 1.2 \
  --resolve api.example.test:18443:127.0.0.1 \
  --cacert server-ca.pem \
  --cert client-a.pem --key client-a.key \
  --fail --silent --show-error --max-time 10 \
  --output response.txt --write-out '%{http_code}\n' \
  https://api.example.test:18443/
rc=$?
printf 'curl_exit=%s\n' "$rc"
exit "$rc"

成功判据是退出0、HTTP200、response.txt为SUCCESS。保留curl退出码,不能让printf覆盖失败;失败留下的文件不算新验收产物。

六、隔离实验得到什么

本次运行环境为Nginx1.26.3(构建链接OpenSSL1.1.1w)、命令行OpenSSL1.1.1k与curl7.61.1。三组都只监听127.0.0.1随机端口,使用临时CA和独立进程,没有reload生产实例。

基线仅配置client_certificate=A:名称列表有A,A客户端得到200/SUCCESS。改为client_certificate=B加trusted=A:列表只有B,A与B客户端均得到200/SUCCESS。再去掉trusted=A、只保留B:A请求被拒绝,curl使用--fail返回22、HTTP400;B仍成功。无客户端证书也被拒绝。

列表没有A不代表不信任A。400只是受检Nginx默认处理的观察值,不推广到所有后端、协议与错误映射。

七、迁移或收紧信任时怎么查

列出server及继承配置加载的CA文件,核对来源。搬到trusted不等于“隐藏但不信任”。收紧范围前先评审依赖,再用新旧CA做正反例。

SUCCESS不表示身份可以访问所有资源,业务授权另查。本文未测试OCSP、吊销或浏览器选证,不代表生产迁移完成。

八、最终验收清单与资料

  • 服务端链与客户端CA方向分开,材料和私钥权限已核对。
  • CA名称列表与完整信任配置分别记录,不把提示当授权清单。
  • 正确证书、错误CA签发证书和无证书三类请求分别检查。
  • 握手诊断、HTTP状态和业务授权各有证据,不由一个成功代替全部。

本文由AI辅助整理,命令在上述隔离环境抽取重放;临时密钥和监听已清理,不代表外部CA签发或生产部署验收。

使用Step CLI简化证书管理:从原理到HTTPS、mTLS与自动化实践 在构建现代安全通信体系时,公钥基础设施(PKI)与TLS/SSL证书是保障数据传输机密性与身份认证的基石。其核心原理基于非对称加密与数字签名,通过证书颁发机构(CA)的信任链,为服务器、客户端与服务间通信建立可信身份。这一技术对于实现HTTPS加密、微服务间的双向TLS(mTLS)认证以及软件供应链安全至关重要。随着云原生与零信任架构的普及,自动化、可编程的证书生命周期管理成为刚需,而传统工具如OpenSSL虽功能强大但配置复杂。Step CLI应运而生,它通过封装底层复杂性,提供了一套简洁、安全的命令行工 阅读详情

相关推荐

VCF私有云中自签名证书配置全攻略:从原理到PAIS部署实践

TLS/SSL证书是保障网络通信安全的核心机制,它通过非对称加密和数字签名实现身份认证与数据加密。其工作原理基于公钥基础设施(PKI)体系,由受信任的证书颁发机构(CA)构建信任链。在私有云和内部开发测试环境中,出于成本与敏捷性考虑,自签名证书成为常见选择,它虽具备同等加密强度,但需手动建立信任关系。在VMware Cloud Foundation(VCF)这类集成化私有云平台中部署复杂应用如私有AI服务(PAIS)时,证书配置需贯穿负载均衡器、Kubernetes Ingress及微服务等多个层级,任何环

weixin_33937778的博客 384

基于Nginx与mTLS构建OpenClaw零信任安全网关实战指南

在微服务与API驱动的现代架构中,传输层安全是保障服务间通信的基石。TLS/SSL协议通过加密与身份验证机制,确保数据在传输过程中的机密性与完整性。其核心原理基于非对称加密与证书体系,服务器通过证书向客户端证明自身身份。双向TLS(mTLS)在此基础上更进一步,要求客户端与服务器相互验证证书,为服务间通信提供了更强的身份保证。这项技术在零信任安全架构中具有重要价值,能够实现“永不信任,始终验证”的安全原则。通过mTLS,可以构建基于证书的强身份认证机制,有效防止未授权访问与中间人攻击。在API网关、微服务通

310

Windows环境下OpenSSL自签证书实现双向TLS认证完整指南

TLS/SSL证书是网络安全通信的基石,通过非对称加密和数字签名技术建立可信身份验证机制。其核心原理基于公钥基础设施(PKI)体系,由证书颁发机构(CA)签发并管理数字证书,确保通信双方身份的真实性和数据传输的机密性。在微服务架构和物联网设备通信场景中,双向TLS认证(mTLS)通过要求客户端和服务器相互验证证书,能有效防御中间人攻击,成为内部系统安全通信的黄金标准。本文聚焦Windows平台,详细演示如何使用OpenSSL工具链从零构建私有CA,并生成符合规范的服务器与客户端证书,解决开发测试环境中证书管

487

30分钟清出硬盘空间:Czkawka 重复文件与相似图片清理完整实战

你有多久没看过硬盘剩余容量的数字了?下载文件夹、手机同步过去的副本、同一天录了两遍的视频——512GB 的盘很容易用到 80%,可"到底哪些文件在占地方"很难找。Czkawka 是一个开源的重复文件清理与磁盘瘦身工具,扫描完它会直接告诉你:哪些文件能删、哪些是相似图片、哪些是空文件夹,一共能腾出多少空间。 ## 14 个内置扫描器:不只是找重复文件 Czkawka 的每个工具都是一个独立模块,

gitblog_00776的博客 958

Ubuntu 20.04 下用原生 OpenSSL 构建私有 CA 实战指南

证书颁发机构(CA)是公钥基础设施(PKI)的信任锚点,其核心原理是通过数字签名建立可验证的证书链。现代安全实践要求对内网服务、微服务通信及mTLS场景实施细粒度证书控制,而公有CA(如Let’s Encrypt)无法签发IP地址、内网域名或客户端证书。OpenSSL作为X.509标准的权威实现,提供完全可控的证书生成、签名、吊销与扩展字段配置能力,无需依赖easy-rsa等封装工具。在Ubuntu 20.04这一LTS环境中,其预装的OpenSSL 1.1.1f已具备TLS 1.3支持与完整扩展语法,结合

weixin_34198762的博客 347

HTTPS部署实战:从证书链到TLS配置的完整指南

SSL/TLS加密技术是构建安全网络通信的基础,其核心原理基于非对称加密和数字证书体系。通过证书颁发机构(CA)建立的信任链,TLS协议实现了身份验证和数据加密的双重保障。在工程实践中,合理的证书选择与TLS配置直接影响网站性能与安全。自签名证书适用于开发测试环境,而生产环境则需要根据业务需求选择DV、OV或EV证书。TLS 1.3协议和现代密码套件能显著提升性能,而HSTS头部可强制HTTPS访问防止降级攻击。对于微服务架构,双向TLS(mTLS)提供了更强的服务间认证机制。掌握证书生命周期管理和自动化更

weixin_34146805的博客 382

Apache Pulsar TLS 双向认证配置指南:基于客户端证书的角色身份认证

本文是 Apache Pulsar 安全体系中 **TLS 认证(TLS Authentication)** 的完整实操指南。TLS 认证是 TLS 传输加密的扩展:服务端不仅向客户端出示自己的证书,客户端也必须出示由同一证书颁发机构(CA)签发的证书,服务端据此验证客户端身份,并将其证书中的 **Common Name(CN)作为该客户端的角色令牌(role token)** 参与后续授权判断。

gitblog_00399的博客 188

从零搭建支持国密SM2的Nginx服务器:GmSSL编译与双证书配置实战

在网络安全领域,加密算法是保障数据传输机密性与完整性的核心技术。非对称加密算法通过公钥与私钥的配对,实现了安全的密钥交换与身份认证。随着我国对信息安全自主可控要求的提升,国密算法(SM系列)作为自主密码标准,在政务、金融等关键领域的技术价值日益凸显。其应用场景已从基础通信扩展至各类Web服务与关键基础设施。本文聚焦于国密SM2算法在Nginx服务器中的工程实践,详细解析了如何通过编译GmSSL替代OpenSSL,并配置国密双证书链,最终实现支持国密HTTPS的Nginx服务部署。文中涵盖了GmSSL编译、双

weixin_30719711的博客 1497

XCA跨平台证书管理工具:构建私有PKI与自动化运维实战指南

数字证书作为现代网络安全信任体系的基石,广泛应用于HTTPS、API认证、代码签名等场景。其核心原理基于非对称加密和X.509标准,通过公钥基础设施(PKI)实现身份验证与数据加密。在工程实践中,证书管理常面临格式兼容性差、生命周期管理复杂等挑战,尤其在跨平台环境下更为突出。XCA作为一款开源图形化工具,通过统一的加密数据库解决了证书、私钥、CSR的集中管理问题,支持完整的证书签发、吊销、链验证流程。该工具深度整合了**openssl**兼容性和**PKCS#12**格式支持,能够无缝融入自动化运维流水线,

cuiji1279的博客 346

为frp内网穿透部署TLS双向认证:从零构建私有安全隧道

TLS(传输层安全协议)是保障网络通信机密性与完整性的基石技术,它通过非对称加密、对称加密和数字证书验证机制,在客户端与服务器之间建立加密通道。其核心价值在于防止数据在传输过程中被窃听或篡改,是实现安全远程访问、API通信和数据同步的关键基础设施。在远程办公、混合云架构及物联网设备管理等应用场景中,TLS加密尤为重要。本文聚焦于TLS双向认证(mTLS)这一进阶实践,它要求通信双方均出示并验证证书,实现了基于证书的强身份验证。我们将以流行的内网穿透工具frp为例,详细演示如何利用OpenSSL自建私有CA,

weixin_30813225的博客 446

数字证书全解析:从原理到实战,运维安全必备指南

数字证书是网络通信中实现身份认证与数据加密的核心技术,它基于公钥基础设施(PKI)构建信任链,确保通信双方的身份可信与数据安全。其技术价值在于为HTTPS、API安全、微服务间通信等场景提供了基础的安全保障。在工程实践中,证书的生成、部署、续期与监控是运维工作的关键环节,尤其涉及证书链完整性与SAN扩展字段的正确配置。本文聚焦于证书生命周期管理,针对证书链、SAN扩展等常见问题提供解决方案,并探讨自动化工具与监控策略,帮助开发者与运维人员构建稳固的证书管理体系。

diaogan4202的博客 343

HTTPS证书名称不匹配错误:从原理到实战的完整解决方案

HTTPS/TLS协议是保障网络通信安全的基石,其核心机制之一是通过证书验证服务器身份。证书中的使用者可选名称(SAN)字段明确绑定了服务器允许访问的域名或IP地址,客户端在握手时会严格比对实际访问地址与证书声明是否一致,这是防范中间人攻击的关键防线。这项技术确保了电子商务、在线银行等敏感场景的数据传输安全。当服务器名与证书不匹配时,常见于开发调试、内部系统访问或证书配置错误等场景。例如,使用mitmproxy等抓包工具进行移动端调试时,必须正确安装并信任工具提供的根证书;而通过Let's Encrypt申

weixin_34161083的博客 392

3小时实战:从零部署SSL证书,掌握HTTPS配置与故障排查

SSL/TLS证书是保障网络通信安全与身份验证的核心技术,其基于公钥加密原理,在客户端与服务器之间建立加密通道。这项技术的核心价值在于防止数据窃听、篡改,并验证服务器真实性,是构建可信互联网的基石。在Web服务、API接口、数据库连接及各类云原生应用中,HTTPS已成为标配。本文聚焦SSL证书的实战部署与深度排查,针对证书链不完整、密钥不匹配、自签名证书信任等高频问题,提供从环境搭建到Nginx配置的完整解决方案。通过模拟真实运维场景,读者可快速理解Let's Encrypt自动化签发、OpenSSL工具使

weixin_33724570的博客 332

TLS/SSL证书全解析:从核心原理到运维实战

在网络安全领域,公钥基础设施(PKI)是实现身份认证与加密通信的基石。其核心原理基于非对称加密算法,通过数字证书将实体身份与其公钥绑定,并由受信任的证书颁发机构(CA)进行签名,从而构建信任链。这项技术的核心价值在于为网络通信提供了机密性、完整性和身份验证三大安全保障,是抵御中间人攻击和数据窃听的关键。其应用场景广泛覆盖Web服务(HTTPS)、API接口、电子邮件加密以及物联网设备认证等。本文将聚焦于TLS/SSL证书这一具体实现,深入剖析其结构中的X.509标准、信任链验证机制,并结合Let's Enc

weixin_30342209的博客 316

银河麒麟系统OpenSSL证书管理实战:从自签名到多域名SAN证书

SSL/TLS证书是保障网络通信安全的核心技术,其原理基于非对称加密和数字签名,确保数据传输的机密性、完整性与身份认证。在HTTPS、微服务间mTLS认证等场景中,证书是不可或缺的一环。OpenSSL作为功能强大的开源密码学工具包,是实现证书全生命周期管理(包括生成、签名、验证和转换)的行业标准。在国产化替代背景下,银河麒麟操作系统因其特定的安全策略(如KYSEC)、软件源和依赖库环境,使得OpenSSL的部署与证书操作面临独特挑战。本文聚焦于解决在银河麒麟系统上,如何利用OpenSSL高效生成支持多域名(

weixin_30448603的博客 405

NVIDIA DRIVE SDK学习(二)——NvMedia

可以通过使用NvSciBuf API通过NvMedia Tensor属性分配NvSciBuf来创建NvMedia张量。由于NvSciBuf API有助于NvMedia和NVIDIA®CUDA®之间的数据共享,这使得分配的张量可以在NvSciBuf API允许的情况下重复使用。它支持图像聚合操作。NvSciSync组件使得NvMedia组件可以与其他组件保持同步,比如CUDA组件、基于NvSciSync的组件等。立体视差模式:在这种模式下,该模块通过左图像和右图像来产生立体视差,从而进行物体深度测量。

weixin_39592381的博客 3043

Thanos 跨集群 TLS 通信实战:基于 Envoy 代理的 Querier 安全 gRPC 访问方案

在 Thanos 全局视图(Global View)模式下,当未使用 [Thanos Receive](https://link.gitcode.com/i/f87e5a035af4550d0c4bc1d2beb53bcb) 时,你通常会有若干集中式集群,需要为这些集群提供安全、基于 TLS 的 gRPC 路由,以便访问网络外部远程集群中携带 sidecar 的 leaf Prometheus 实

gitblog_00770的博客 1013

TC397 EB配置ADC软件触发:从零实现周期采样与中断处理

本文详细介绍了如何在Infineon AURIX TC397芯片上使用EB Tresos工具配置ADC软件触发,实现周期采样与中断处理。通过硬件连接、EB模块配置、代码初始化及数据处理的全流程解析,帮助开发者快速掌握ADC软件触发技术,提升嵌入式系统开发效率。

root9的博客 228

PKI/PMI实践笔记:数字证书签发、验证与权限管理全解析

公钥加密解决了机密性和完整性,但“公钥是否真实属于对方”的信任问题仍是安全体系的根基。PKI通过CA、RA和数字证书构建可信第三方担保机制,用X.509证书完成身份认证;PMI则在此基础上引入属性证书,将身份与权限解耦,实现细粒度的授权管理。理解证书链的完整性、吊销机制、双向TLS、代码签名等核心场景,是落地企业安全基础设施的关键。本文从工程视角,结合OpenSSL命令和真实踩坑经验,系统梳理从根CA搭建、叶子证书签发到PMI权限模型设计、证书自动化运维的完整链路,帮助读者建立可操作的PKI/PMI落地框架

weixin_33849215的博客 1801

STM32入门教程:图像处理

然后,我们使用 STM32 的 DSP 模块中的 arm_mean_u8 函数计算原始图像的平均值,并将结果存储在 meanValue 变量中。然后,我们需要编写代码配置 STM32 的外部中断输入引脚,并在中断处理函数中读取 OV7670 摄像头模块输出的图像数据。然后,我们需要编写代码配置 STM32 的 USB OTG 接口,并在回调函数中读取 USB 摄像头输出的图像数据。一、图像采集 图像采集是图像处理的第一步,我们需要将外部图像源的数据导入到 STM32 中进行处理。

2401_85625565的博客 1616

uniapp - 实现安卓App打包上架应用商店详细教程,详解Hbuilder打包编译apk发布上传到应用市场全流程,提供uniApp云打包、离线打包app、原生本地打包,附带APP备案和安卓证书申请

uni-app,安卓,APP,应用商店,打包编译apk,上架到应用市场,如何打包app并发布到主流应用市场,发布为AndroidApp流程,应用备案,如何申请安卓证书,hbuilder发布安卓apk后怎么上传到各家软件商店,创建app证书,uniapp发行原生APP本地打包安卓APK,详细最全的步骤教程,项目打包成apk,云打包,安心打包,安卓app离线打包,一直审核不通过,被拒绝,不符合规范,上架发布失败,申请安卓证书和获取证书信息,uni-app打包发布安卓Android软件到各大应用商店,腾讯应用

🏆 前端领域优质创作者 1万+

Ubuntu 18.04下编译OpenSSL支持国密并构建SM2证书体系实践

在网络安全领域,公钥基础设施(PKI)是保障通信安全的核心机制,它通过数字证书实现身份认证与数据加密。其原理基于非对称加密算法,如RSA和ECC,而国密SM2算法作为我国自主设计的椭圆曲线密码标准,在安全性、性能和合规性方面具有重要价值。SM2算法结合SM3摘要算法,可应用于数字签名和密钥交换,满足金融、政务等高安全需求场景。本文聚焦于在Ubuntu 18.04环境中,从源码编译支持国密算法的OpenSSL,并详细演示如何创建SM2自签名根证书、服务器证书及客户端证书,涵盖密钥生成、证书签发、链式验证等关键

weixin_30333885的博客 369

COSMO-RS理论:流体相热力学预测的核心模型与技术突破

摘要:COSMO-RS模型通过量子化学计算分子表面电荷分布,实现了从微观量子尺度到宏观化工过程的热力学预测。该模型基于介电连续介质理论,将分子表面片段化处理,通过σ-剖面描述电荷分布,并计算片段间的静电失配能和氢键能。其核心算法通过自洽化学势方程求解活度系数,克服了传统模型依赖实验参数的局限。随着技术进步,模型引入了高阶描述符和色散力修正,提升了预测精度。在药物研发、化工分离等领域广泛应用,但仍存在对长程有序结构预测不足等局限性。该模型为复杂体系的热力学性质预测提供了重要理论工具。

ASKCOS博客 970
上一篇: SSL证书到期时间差8小时:GMT、北京时间与UTC告警阈值核对
Lsetea
博客等级 码龄10年 24粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lsetea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值