gpt4 book ai didi

node.js - 呈现给 node.js 与浏览器的不同证书

转载 作者:太空宇宙 更新时间:2023-11-03 13:27:30 25 4
gpt4 key购买 nike

当我访问 https://gmail.com 时在浏览器中,我发送了一个 301 重定向到 https://mail.google.com .当我尝试使用 node.js 做同样的事情时,我收到“主机名/IP 与证书的 altnames 不匹配”错误。

这是有道理的,因为 gmail.com 提供给 node.js 的证书不包括“gmail.com”作为通用名称或替代名称。这是 gmail.com 提供的证书...

{ subject: 
{ C: 'US',
ST: 'California',
L: 'Mountain View',
O: 'Google Inc',
CN: 'mail.google.com' },
issuer: { C: 'US', O: 'Google Inc', CN: 'Google Internet Authority G2' },
subjectaltname: 'DNS:mail.google.com',
exponent: '10001',
valid_from: 'Feb 25 15:21:00 2014 GMT',
valid_to: 'May 26 00:00:00 2014 GMT'}

当我检查应该由服务器提供的证书时,我看到了 http://www.sslshopper.com/ssl-checker.html#hostname=gmail.com其中确实包括 gmail.com 扩展名。我假设这是浏览器收到的内容。

为什么 Node 会向浏览器发送不同的证书?这与 CNAME 和 DNS 有什么关系吗?

最佳答案

这可能是因为您的浏览器支持 Server Name Indication (SNI) 和 Node.js(或者更确切地说,您正在使用的客户端模块)没有。由于证书协商发生在 HTTP 开始之前,因此需要 SNI 以便从单个 IP 地址提供多个主机名。

关于node.js - 呈现给 node.js 与浏览器的不同证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22242736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com