<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Free Arch【已解決】七牛云上傳 Cloudflare 證書

          共 3925字,需瀏覽 8分鐘

           ·

          2022-05-15 02:49



          【問題】在七牛云的證書管理頁面,上傳證書時,出現(xiàn)[400338] 獲取父級證書失敗,請稍后重試的報錯。在小程序里查看本文


          【詳細(xì)描述】
          通過實際測試發(fā)現(xiàn),即使使用了 Cloudflare 對靜態(tài)站點進(jìn)行 CDN 加速,其文件下載速度在上海的電信網(wǎng)絡(luò)里實測仍然非常慢。雖然是電信千兆光纖網(wǎng),但是下載一個32兆的文件,仍然需要長達(dá)一個小時,無法忍受。你也可以打開這個頁面,嘗試下載頁面上的 apk 文件試試。https://app.jeff-tian.jiwai.win/


          推測 Cloudflare 的 CDN 結(jié)點在中國還是比較少,于是想起了七牛云,想使用七牛云的 CDN 文件分發(fā)功能。但是我在在 Cloudflare 的配置里對 jiwai.win 這個域名配置了 https,這個配置不能輕易改動,否則會影響其他的子域名,這帶來的問題是,通過七牛云的 CDN 加速后,實際上如果使用 https:// 訪問會報 PROTOCOL_MISMATCH 的錯誤,而通過 http:// 訪問呢,那肯定也是不行的了。七牛云這時會自動 308 跳轉(zhuǎn)到源站的 https 協(xié)議上,導(dǎo)致沒有加速效果。所以,只能以 https 的形式來開通這個 CDN 加速,這時七牛云會要求選擇一個 https 證書,要么購買,要么直接上傳自有證書。購買是 Free Arch 不能接受的,不過七牛云很貼心地提供了一種免費的 DV 證書,這雖然免費,但仍然不能被 Free Arch 接受,有兩個原因:1有個審核期,這就阻礙了 Free Arch 的自由這一層的含義,F(xiàn)ree Arch 要求的是立刻馬上生效;2DV 證書申請通過后,只有一年的有效期,這太煩了,每年都要再來一次,忍受這個審核期。



          這時,我想到是要加速 Cloudflare,而 Cloudflare 生成的證書的有效期,可以最長 15 年。于是我想到直接上傳 Cloudflare 的源站證書了。


          這時碰到的問題是,生成的證書怎么也傳不上去,會報[400338] 獲取父級證書失敗,請稍后重試這個錯誤信息。



          【背景】如何獲取 Cloudflare 源證書?我也忘了具體的做法,還好之前在薅 AWS lambda 的羊毛時,為了使用 Cloudflare CDN 加速 lambda,也是需要在 AWS 的 ACM 里上傳 Cloudflare 證書的,當(dāng)時寫了一篇文章:《Free Arch:給 GraphQL 增加 CDN 緩存》,并宣稱有極大的參考價值,沒想到這次又可以復(fù)用一次,果真是有極大的參考價值呀。獲取 Cloudflare 證書的步驟那篇文章里有,但這里再簡單貼幾個圖,因為,Cloudflare 的界面已經(jīng)修改了!




          將以上的源證書和私鑰拷貝好,粘貼到七牛云的自有證書上傳頁面:


          點擊上傳,就碰到了[400338] 獲取父級證書失敗,請稍后重試這個錯誤。我還真的等了一會兒,再重試,仍然如此,無論怎么重試都沒有用,于是明白了“請稍后重試”,就是廢話!關(guān)鍵信息在獲取父級證書失敗。這個我在上一篇文章中也是有經(jīng)驗的,當(dāng)時在 AWS ACM 的證書上傳時,碰到一個證書鏈的問題,這里說是父級證書的問題,雖然我不懂這些證書呀 https 呀,但是靠著技術(shù)直覺力,我覺得這是同一個問題。【如何獲取 Cloudflare 的根證書】無論字面上說根證書、證書鏈、還是父證書,對我現(xiàn)在的具體問題來說,都是需要找到 Cloudflare 的根證書了。好在有這篇參考價值極大的文章《FreeArch:給 GraphQL 增加 CDN 緩存》,我很快找到了。順便說一下,這篇文章里給到的 Cloudflare 文檔的原始鏈接,已經(jīng)是 404 了!而且我嘗試在 Cloudflare 官方開發(fā)者文檔里搜索了 Cloudflare root CA 等等關(guān)鍵詞,再也找不到根證書的具體內(nèi)容了!這種死鏈問題,真是比較坑爹。好在我的參考價值極大的文章里明文粘貼了 Cloudflare 的根證書內(nèi)容,再一次派上了用場!由于非常有效,這里再粘貼一次:
          -----BEGIN CERTIFICATE-----MIIEADCCAuigAwIBAgIID+rOSdTGfGcwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVTMRkwFwYDVQQKExBDbG91ZEZsYXJlLCBJbmMuMTQwMgYDVQQLEytDbG91ZEZsYXJlIE9yaWdpbiBTU0wgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMRMwEQYDVQQIEwpDYWxpZm9ybmlhMB4XDTE5MDgyMzIxMDgwMFoXDTI5MDgxNTE3MDAwMFowgYsxCzAJBgNVBAYTAlVTMRkwFwYDVQQKExBDbG91ZEZsYXJlLCBJbmMuMTQwMgYDVQQLEytDbG91ZEZsYXJlIE9yaWdpbiBTU0wgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMRMwEQYDVQQIEwpDYWxpZm9ybmlhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwEiVZ/UoQpHmFsHvk5isBxRehukP8DG9JhFev3WZtG76WoTthvLJFRKFCHXmV6Z5/66Z4S09mgsUuFwvJzMnE6Ej6yIsYNCb9r9QORa8BdhrkNn6kdTly3mdnykbOomnwbUfLlExVgNdlP0XoRoeMwbQ4598foiHblO2B/LKuNfJzAMfS7oZe34b+vLByrP/1bgCSLdc1AxQc1AC0EsQQhgcyTJNgnG4va1c7ogPlwKyhbDyZ4e59N5lbYPJSmXI/cAe3jXj1FBLJZkwnoDKe0v13xeF+nF32smSH0qB7aJX2tBMW4TWtFPmzs5IlwrFSySWAdwYdgxw180yKU0dvwIDAQABo2YwZDAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBAjAdBgNVHQ4EFgQUJOhTV118NECHqeuU27rhFnj8KaQwHwYDVR0jBBgwFoAUJOhTV118NECHqeuU27rhFnj8KaQwDQYJKoZIhvcNAQELBQADggEBAHwOf9Ur1l0Ar5vFE6PNrZWrDfQIMyEfdgSKofCdTckbqXNTiXdgbHs+TWoQwAB0pfJDAHJDXOTCWRyTeXOseeOi5Btj5CnEuw3P0oXqdqevM1/+uWp0CM35zgZ8VD4aITxity0djzE6Qnx3Syzz+ZkoBgTnNum7d9A66/V636x4vTeqbZFBr9erJzgzhhurjcoacvRNhnjtDRM0dPeiCJ50CP3wEYuvUzDHUaowOsnLCjQIkWbR7Ni6KEIkMOz2U0OBSif3FTkhCgZWQKOOLo1P42jHC3ssUZAtVNXrCk3fw9/E15k8NPkBazZ60iykLhH1trywrKRMVw67F44IE8Y=-----END CERTIFICATE-----

          而且,我的參考價值極大的文章還貼心地寫了應(yīng)該如何將這個根證書與上一次生成的服務(wù)器源證書拼接在一起,以成功地上傳至 AWS ACM。但是這一次,我照做了,結(jié)果還是[400338] 獲取父級證書失敗,請稍后重試這個錯誤!這就百思不得其解了……在這里卡了一秒,立即再次用技術(shù)直覺力,猜測,難道這個證書鏈并沒有通用的標(biāo)準(zhǔn)順序?各大廠商(程序員)自行隨意實現(xiàn)的?而且都有一個通病,就是界面上不給個提示,文檔也沒有,只能靠用戶去猜?既然猜到這里,我立即調(diào)換了一根證書和源證書的順序,再試了一次上傳,真的成功了!這里再貼一下,對于七牛云的證書上傳頁面,應(yīng)該用下面的順序,和 AWS ACM 的證書上傳頁面,順序正好相反。當(dāng)然你也舉一反三,以后在別的什么廠商的證書上傳頁面,上傳碰到錯誤,千萬不要無腦重試,而是需要換一換順序再試:
          -----BEGIN CERTIFICATE-----源服務(wù)器證書內(nèi)容-----END CERTIFICATE-----
          -----BEGIN CERTIFICATE-----Cloudflare 根證書內(nèi)容-----END CERTIFICATE-----


          【總結(jié)】至此在七牛云的證書管理頁面上傳 Cloudflare 證書的問題已經(jīng)完美解決,再總結(jié)一下解決方法:1獲取 Cloudflare 根證書2生成源服務(wù)器證書3將證書內(nèi)容拼接起來,注意將根證書內(nèi)容放在后面最后,在《Free Arch:給 GraphQL 增加 CDN 緩存》里有抱怨 AWS 報證書鏈的錯誤時,在 AWS 文檔里沒有找到任何證書鏈相關(guān)的文檔。這次在七牛云的文檔里,卻找到了證書鏈的相關(guān)說明,雖然很簡短,但是寫得比較清楚,有興趣的同學(xué)可以看一看:
          https://developer.qiniu.com/fusion/kb/3703/the-certificate-chain-is-what





          若有收獲,就點個贊吧



          瀏覽 216
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  伊人网伊人网 | 国产SM视频 | 手机在线看片av 亚洲成人黄色网址 | 中文字幕成人乱码熟女 | 亚洲第一字幕 |