我在 pfsense 防火墙上设置透明 Squid 代理时遇到问题。我为 HTTPS MITM 创建了一个 CA,并将其安装在浏览器中,它适用于大多数网站。
但是像这样的网站ubuntuusers.de使用 let's encrypt 证书似乎会导致问题。奇怪的是,它似乎是正确的:它的 CN 是域,并且它们的 CA 是正确的 Let's Encrypt Authority X3。
然而,一旦 Squid 代理拦截证书并将其 MITM 到自己的 CA,证书的 CN 就变成了ubuntuusers.de因此浏览器铬合金和火狐由于 cn 而拒绝domain don't fit (net::ERR_CERT_COMMON_NAME_INVALID)
这只发生在这个网站上,所以这一定与这个证书有关。我对证书的经验不足,无法理解为什么会发生这种情况。
...
Common Name (CN) 213.95.41.4
Organization (O) <Not Part Of Certificate>
Organizational Unit (OU) <Not Part Of Certificate>
Serial Number 7C...
Issued By
Common Name (CN) myown-ca
...
也许有人可以向我解释这种行为?
答案1
看起来你可能正在使用server-first
SSL bumping,根据文档无法处理服务器上的 SNI,并将使用服务器的 IP 作为证书(因为服务器将不再具有单个主机名)。从 Squid 3.5 开始,有称为和的新机制,peek
允许stare
squid 观察 SNI 协商以找出请求的主机名,每个机制都受到不同的限制。