通过HTTPS访问用户指定主机的应用程序是一个常见的需求,但在实际应用中可能会遇到一些困惑。对于这个问题,php小编香蕉认为应该尝试通过查找FQDN来提供帮助。FQDN(Fully Qualified Domain Name)是一个完全限定的域名,包含主机名和域名。通过查找FQDN,可以确保准确地定位到用户指定的主机,从而提供准确的帮助和服务。因此,在进行HTTPS访问时,查找FQDN是一个有益的策略。,我正在使用一个 golang 应用程序,该应用程序通过另一台主机上的 HTTPS 与服务器进行通信。具体来说,如果上下文很重要:从同一 Google Cloud 项目中的 GCE 实例与 Dataproc 集群进行通信(无需特殊的域设置)。,服务器生成一个自签名证书,我已在客户端手动安装该证书。,服务器和客户端都是我的 Google 云项目上的 GCE 实例(它们的 FQDN 为 .c..internal
),如果我尝试使用 golang 的 http.Client 从客户端连接到服务器,我会收到如下错误:,但是,如果我将其 FQDN 传递给它(.c..internal
),则它可以开箱即用。,仅供参考,此行为与我运行 cURL 时看到的一致:,所以我的问题是:,注意:我不想跳过验证 – 我只是想更好地了解正在发生的事情,并知道这里的最佳实践是什么。,谢谢!,公共 CA 不太可能为您提供具有不可公开解析的 SAN 的证书。 (有些可能,我没试过),作为示例,您不希望从 google.com.someevildomain.org
提供或信任 google.com
,因此这是一项安全功能。,