CloudFlareを使用してhexoブログのHTTPSを実現

3273 ワード

ブログアドレスは常にデフォルトのsecsilmです.github.io、ずっと自分のドメイン名を変えたいと思っていましたが、ちょうどNameBetaのいくつかのドメイン名が安いのを見て、買うつもりでやっていました.最後にalanlee.funというドメイン名に当たりました.
自分のブログドメイン名を自分で買ったドメイン名に変えてHTTPS(GitHub Pagesはカスタムドメイン名HTTPSをサポートしていない)を実現するには、いくつかのステップが必要です(namecheapでドメイン名を購入する例).
  • namecheapで自分の好きなドメイン名
  • を購入
  • GitHub倉庫の更新
  • CloudFlareエンドDNS構成
  • namecheapエンド変更nameservers
  • CloudFlareエンド設定HTTPS
  • を使用
    最初のステップでドメイン名を購入するのは贅沢ではありませんが、支払いが支付宝をサポートしていないこと、PayPalをサポートしていることに注意してください.
    次の仮定では、alanlee.funというドメイン名を購入しました.

    GitHub倉庫の更新


    あなたのhexoブログのローカルルートディレクトリのsourceディレクトリの下にCNAMEファイル(接尾辞名なし)を追加し、購入したドメイン名を書きます.この文書のalanlee.fun:その後、GitHubに更新を配置します.
    hexo d -g

    この時点でGitHubでCNAMEファイルを見ることができ、倉庫設定でもカスタムドメイン名が追加されていることがわかります.この時点でalanlee.funにアクセスしてブログに入ることができますが、このサイトバーには「小さな緑のロック」(HTTPS)はありません.この「小さな緑のロック」を出現させるには、CloudFlareのサービスが必要です.

    CloudFlareエンドDNS構成


    まずCloudFlareアカウントを登録して自分のドメイン名を追加する必要があります.このプロセスは簡単です.私は余計なことを言いません.登録が完了したら、下図のDNSタブをクリックし、もう一つのPage Rulesは私たちが後で使うものです.そして、下の図のように2つの記録を追加します.Valueには自分の元のブログアドレス、つまりyour-github-username.github.comという形式が書かれています.例えば、私のsecsilm.github.com:私たちは次のPage Rulesにドメイン名をHTTPSリンクで使用するように設定しますが、今このようにすれば設定できないことに気づきます.これは、ドメイン名プロバイダでnameserversをCloudFlareのDNSに設定しなければHTTPSサービスを使用できないため、namecheapに行ってnameserversを設定しなければなりません.そうしないと、CloudFlareのOverviewにドメイン名が次のactive状態ではなく非アクティブ状態を表示します.

    namecheapエンドnameserversの変更


    namecheapにログインし、右上AccountDomain Listをクリックし、NAMESERVERSCustom DNSを選択し、CloudFlareのnameservers(CloudFlareのOverviewタブページで見つけられる):これで、namecheap側の変更は終了します.

    CloudFlare側設定HTTPSを使用

    Page Rulesタブページにいくつかのpage rulesを作成するだけでいいです.無料ユーザーは最大3つ作成できます.
    1つ目:
    2つ目は、オプションとして、WWW以外のすべてのリンクを安全にWWW付きリンクに移動させることです.
    3つ目は、オプションでCloudFlareのCDNに静的ページがキャッシュされます.
    これでalanlee.funは安全にアクセスでき、「小さな緑の鍵」が現れました.

    欠点


    実はこの方法は100%HTTPSリンクではありません.あなたのブログとCloudFlareの間にはHTTPリンクがあります.ブラウザとCloudFlareの間にはHTTPSリンクがあります.CloudFlareの公式説明を参照してください.
    Firstly a word on security. If you are deploying a JavaScript app which communicates with remote APIs, be sure not to use this for sensitive data submissions. As GitHub themselves put it: “GitHub Pages sites shouldn’t be used for sensitive transactions like sending passwords or credit card numbers.” Also bear in mind your website source files are publicly accessible in a Git repository, so be extra careful about what you put there.
    There are some things we can’t do; GitHub Pages doesn’t let us set custom headers, which unfortunately means we can’t do HTTP/2 Server Push right now.

    References

  • Secure and fast GitHub Pages with CloudFlare
  • Hexo-6-Cloudflare無料HTTPS|Madao No More
  • を使用
  • Cloudflareを使用してカスタムドメイン名のGithubPagesにHTTPS化|Steffan’s Blog
  • を実現

    END