起因:開發反饋api接口無法在微信公眾號驗證通過
排查問題:
由於一開始是http 301 到 https,所以使用http和https的方法驗證無法通過,
然后接觸了301調整開啟了80 443都能直接訪問接口,得到的結果是http可以校驗通過,那么得到結論是服務沒有問題,可能出現的問題就是https
於是使用17ce https://17ce.com 站點測試了全球訪問情況基本都可以正常返回200,還是沒找到問題,
后來使用myssl https://myssl.com站點去測試,測試報告是證書不可信,出了疑問,瀏覽器訪問沒有報錯,為啥檢測會有問題
既然是證書問題,最簡單就是換個證書提供商,果然換了證書,https可以通過了
腦海出現了幾個疑問點(-107 問題出現可能原因:1.網絡不通,2.dns解析問題,3.內網nat問題,3.泛證書證書問題或者需要使用單域名證書才行)
后來看了Let's Encrypt的相關公告,才發覺可能是微信公眾號的檢測機制的根域名證書沒有更新或者是我證書根證書版本太舊:
AWS 加密證書到期
[信息上次更新時間:太平洋夏令時間下午 5:10]:我們想為您提供更多關於今天早些時候發生的 Let's Encrypt 證書到期信息,即 2021 年 9 月 30 日。受影響的客戶將看到嘗試連接到某些網站或 API 失敗並出現錯誤如“連接失敗”或“頒發的證書已過期”
Let's Encrypt 是一個證書頒發機構,為當今互聯網上運行的許多網站和服務提供 TLS 證書。作為證書頒發機構,Let's Encrypt 提供了一個證書鏈,Web 瀏覽器和應用程序使用它來驗證網站在建立安全 TLS 連接時使用的證書。與所有證書一樣,這些證書鏈都有一個到期日期。為了准備到期
Let's Encrypt 一直使用舊證書(2021 年 9 月 30 日到期)和新證書對其證書鏈進行雙重簽名。這是證書頒發機構處理證書過期的一種方式。雖然這種方法確保了許多網站和應用程序不受 Let's Encrypt 證書鏈到期的影響,OpenSSL 存在一個已知問題,即未正確處理證書鏈的雙重簽名
1.1.0 之前的 OpenSSL 版本無法正確處理雙鏈,如果其中一個證書過期,則認為該鏈無效。可以找到來自 OpenSSL 博客的其他信息在這里。
對於看到 AWS 服務(包括 AWS Lambda、AWS Elastic Beanstalk、Amazon OpsWorks 和 Elastic MapReduce (EMR))影響的客戶,我們正在努力對受影響的服務應用必要的修復程序。我們已經為受影響的 Amazon Linux 發行版發布了更新的 RPM。運行 AL 2012 或 AL2 的客戶可以使用以下命令從 CDN 進行更新:
Amazon Linux 1:
sudo yum install https://cdn.amazonlinux.com/patch/ca-certificates-update-2021-09-30/ca-證書-2018.2.22-65.1.24.amzn1.noarch.rpm
Amazon Linux 2:
sudo yum install https://cdn.amazonlinux.com/patch/ca-certificates-update-2021-09-30/ca-certificates- 2021.2.50-72.amzn2.0.1.noarch.rpm
這些命令安裝替換本地信任存儲的 RPM。如果出於某種原因希望就地修改系統,則可以使用以下命令:
Amazon Linux 1:
sudo sed -i'' '/Alias: DST Root CA X3/,/No Rejected Uses./d' / usr/share/pki/ca-trust-source/ca-bundle.trust.crt
sudo update-ca-trust
Amazon Linux 2:
sudo sed -i'' '/DST Root CA X3/,/\[p11-kit- object-v1\]/d' /usr/share/pki/ca-trust-source/ca-bundle.trust.p11-kit
sudo update-ca-trust
將 RPM 上傳到存儲庫仍在進行中,因此啟動的新實例不會自動更新。我們正在積極致力於發布更新的 Amazon Linux AMI。發布這些 AMI 后,發布自定義 AMI(ECS、EKS、EMR、Elastic Beanstalk)的服務將開始使用其 AMI 的更新版本。
一些運行 .NET 3.1 和 Ruby 2.7 的 Lambda 客戶遇到與運行 1.1.0 之前的 Open SSL 版本相關的提升錯誤。我們正在努力解決這個問題。
造成的影響:
服務端:是用的是Let's Encrypt 3個月證書,可能導致低版本的ca-certificates的客戶端無法https驗證通過,導致無法訪問
客戶端:低版本的ca-certificates的客戶端無法https驗證通過使用Let's Encrypt 3個月證書的網站
類似使用Let's Encrypt 證書的站點:清華大學開源軟件鏡像站
https://mirrors.tuna.tsinghua.edu.cn/
未更新ca-certificates的客戶端,無法wget成功
yum install ca-certificates 更新了ca根證書,即可wget成功
