【问题标题】:Certificate issue with CurlCurl 的证书问题
【发布时间】:2019-03-13 07:45:06
【问题描述】:

我在 AWS 私有云(公司网络)中的 CentOS 7 服务器无法连接到某些站点。经过一些工作,我设法将问题缩小到以下问题。

(1) 无法访问以下内部站点(公共 CA 的 SSL):

curl -v https://git.example.com

返回:

About to connect() to git.example.com port 443 (#0)
Trying 10.62.124.6...
Connected to git.example.com (10.62.124.6) port 443 (#0)
Initializing NSS with certpath: sql:/etc/pki/nssdb
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none

(2) 但以下内部站点有效(公共 CA 的 SSL):

curl -v https://alm.example.com

返回:

About to connect() to alm.example.com port 443 (#0)
Trying 10.64.167.137...
Connected to alm.example.com (10.64.167.137) port 443 (#0)
Initializing NSS with certpath: sql:/etc/pki/nssdb
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
...
...
...
Accept: */*

知道为什么数字 (1) 不起作用吗?这些都是同一个公共 CA 信任的内部站点。

感谢您的帮助。

【问题讨论】:

  • 信息如此之少(没有 CA 详细信息、没有证书内容等),我怀疑任何人都可以帮助您,而且在所有情况下,您的问题都与编程无关。首先比较证书内容、主题、颁发者、日期、延期方面的差异。此外,您甚至没有为您的第一个案例指定下一步会发生什么......

标签: linux unix ssl centos rhel


【解决方案1】:

原来是我们公司的以下案例。 git.example.com 托管在私有 Azure 中,并且 alm.example.com 托管在私有 AWS 中。而且我的工作服务器也恰好在 AWS 中,这就是 Azure 的网络出现问题的原因。根据网络团队的建议,我将 linux 内核中的 MTU 大小设置为 1350,这已解决。

此外,我们公司还开始拦截 SSL 流量,他们已在代理中为其安装了中间证书,并希望所有内部服务器都信任此证书。我上面提到的问题是由于这两个问题的混合,证书问题可以通过信任它或忽略 SSL 验证来排序。

希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 2020-09-20
    • 2021-02-20
    • 2022-08-18
    • 2020-09-18
    • 2022-01-26
    • 2014-02-06
    • 2021-12-14
    • 1970-01-01
    • 2021-08-07
    相关资源
    最近更新 更多