博客 / 詳情

返回

Blog CDN加速

Blog CDN加速

  • 在之前的文章中,使用Docker Compose &Halo 搭建博客,伴隨着訪問量的提升(其實並沒有),感覺有必要使用CDN服務做個網站加速了,畢竟七牛雲也提供了一定的免費額度...

    image-20220426170144141

什麼是CDN

  • CDN 的全稱是(Content Delivery Network),即內容分發網絡,通俗的理解就是CDN服務提供商提供了若干的緩存服務器節點,或者稱作是緩存邊緣節點,通過將用户網站的內容提前緩存到這些節點中,那麼網站的用户則可以通過就近的節點獲取網站內容,從而實現網站加速的效果

    image-20220426170719616

  • 當然,除了網站加速的功能,正確配置的 CDN 還可幫助保護網站免受某些常見的惡意攻擊,比如DDOS

步驟

  • 在七牛雲全站加速頁面添加域名

    image-20220426155737783

    • 關於證書,在Traefik為服務添加HTTPS支持文章中使用letsencrypt申請,申請得到的證書數據存儲在acme.json文件中,為了將其轉換為一般的pemkey文件,可以使用traefik-certs-dumper鏡像執行轉換,該鏡像使用Docker Compose部署的yaml腳本如下:

      version: '3.7'
      
      services:
        certdumper:
          image: humenius/traefik-certs-dumper:latest
          volumes:
          - /root/traefik:/traefik:ro
          - ./output:/output:rw
          environment:
            - ACME_FILE=/traefik/acme.json
            - DOMAIN=blog.demoli.xyz
          restart: always
          healthcheck:
            test: ["CMD", "/usr/bin/healthcheck"]
            interval: 30s
            timeout: 10s
            retries: 5
      • /root/traefikacme.json文件所在的文件夾
      • 轉換得到的證書文件將被存放到當前目錄下的output目錄下
      • 環境變量DOMAIN指定要提取的域名
      • 更多配置參考鏡像GitHub README
      • 當然使用了letsencrypt的證書也就意味着需要手動執行證書的更新,這一點務必注意
    • 關於源站測試,這裏直接使用一篇博客做測試,其實這裏有待改進,這個測試文件應該是一個固定的文件,可以選用服務中的固定靜態文件做測試用
  • 創建完畢後,進行域名驗證,按照提示向域名提供商的操作界面中添加TXT記錄即可,隨後點擊驗證

    image-20220426173942844

  • 驗證通過後,添加CNAME記錄,主機名還是加速域名的主機名(以本文為例即是blog),類型為CNAME,值為七牛雲提供的CNAME值,注意添加前首先關停之前的A記錄的解析,否則會衝突
  • 添加解析後使用nslookup blog.demoli.xyz驗證

    image-20220426161121560

參考

  • 什麼是CDN,以及其原理
  • CDN是什麼
  • CDN回源配置問題
  • 使用七牛雲加速網站配置
  • 為什麼加速域名與回源域名不能相同
user avatar ifnil 頭像
1 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.