跨 CA 签发多个证书的 Nginx mTLS 配置

研究过用同一个 CA 签发的服务端和客户端证书的 Nginx mTLS 配置,本文要试验一番服务端和客户端证书由不同 CA 机构签发的情形。这是常有事,比如与客户间采用 mTLS 加密方式,需要文件交付可能是

  1. 客户端证书由甲方生成,发送客户端私钥和证书(或放在一起的 PKCS#12 格式证书)给乙方
  2. 或由乙方生成客户端私钥或证书,乙方把签发用的 CA 证书发给甲方已配置信任链
  3. 甚至服务端,客户端的证书都由甲方生成的情况下也可能使用不同的 CA 签发

下面来测试不同 CA 签发证书的 Nginx mTLS 配置。

今天升级了 ChatGPT 为 Plus 版本,可以用 ChatGPT 4o, 确实是比较强,输入 "mtls 不同 ca 签发的服务端客户端证书在 nginx 中的配置" 提示符产生的内容几乎可以直接作为博文。但本人必须遵循本博客非 AI 产生的原则,只参考 ChatGTP 的答案,关键是一个要自己亲自动手验证并理解每一项配置的功用。 阅读全文 >>

《HTTP/2 in Action》阅读笔记(二)

要开始步入 HTTP/2 的,https://httparchive.org/reports/state-of-the-web#h2 显示了使用 HTTP/2 的趋势,和其他数据,如 HTTP/3 的应用趋势。随着互联网的发展,展示一个网页请求的资源越来越多,传输的总字节数在变大,平均近几M - https://www.speedcurve.com/blog/web-performance-page-bloat/

https://www.webpagetest.org 可以用测试网页中所有资源加载的瀑布图,包括 DNS 的查询,网络连接,SSL 协商及 CPU, 带宽使用情况。

HTTP/1.1 效率较低下,只能同步发送处理请求,即请求,得到响应后才能发下一个请求,一个网会加载许多的资源,如图片, js, css 等。

HTTP/1.1 的 Pipeling 像 Redis 那样的 pipeline, 通过一个连接传递多个 HTTP 请求,再依次返回结果,但这种方案并未得到支持与应用。 阅读全文 >>

《HTTP/2 in Action》阅读笔记(一)

本书买来有一段时日了,一直还未开始阅读,关于网络上 HTTP/2 的真实使用状态查到以下信息

  1. 截止 2021 年 1 月 8 日,有 50% 的网站正在使用 HTTP/2,参见 Usage statistics of HTTP/2 for websites
  2. 另一篇介绍 HTTP/2 Adoption 说 2020 年就有 64% Web 请求是基于 HTTP/2 的

得看看我们自己的网站对 HTTP/2 的支持以及使用状况

于此同时,HTTP/3(gQUIC) 也上了议程,作为 HTTP/3 的提议标准的 RFC9114 也于 2022 年 6 月 6 日由 IETF 发布。

本书首先介绍的是关于 HTTP 协议从 0.9 到 1.0, 再到 1.1 的变迁史。

关于 IPv4 和 IPv6

IP 报文的前四位表示协议版本,所以 0100 就是 4。版本 0 ~ 3 是留给实验用的,5 设计为 Intenet 流协议的,例如实时音视频,像 VoIP, 实际上也因为地址数量的限制没被使用。所以就跳到了 IPv6,字节为  0110。后续的 IP 协议版本 7, 8, 9 都被预定了(比如中国的 IPv9 - 冷),所以再有新的 IP 协议版本的放丈是 IPv10 阅读全文 >>