StackPathのCDNは、コンテンツ保護やアセット最適化など、高度なカスタマイズが可能です。

WordPressの場合、StackPathでは「Full Site Integration(サイト全体の統合)」と「Static Assets Integration(静的アセットの統合)」という2つの構成から選べます。「Full Site Integration」はサイト全体を同じドメインでキャッシュし、「Static Assets Integration」はサブドメインを使用して静的コンテンツのみをキャッシュします。これらは両方とも、KinstaのCloudflare統合と互換性があります。

「Static Assets Integration」を使用するには、サブドメインが必要ですが、MyKinstaではドメインを追加するときに、ワイルドカードサブドメイン(*.example.com)が自動的に追加されるので、ご自身でサブドメインをサイトのドメイン一覧に追加する必要はありません。また、CDN Enablerなどのプラグインを使用して、アセットのURLをStackPathのエッジアドレスからお客様のサブドメインに書き換える必要があります。これについては、この後の「Static Assets Integration」のセクションでもう少し詳しく説明します。

「Static Assets Integration」でサブドメインが必要なことをのぞくと、KinstaのCloudflare統合との互換性を確保するための設定は、StackPathのいずれの構成でも同じです。「Static Assets Integration」では、静的アセットのURLを変更するプラグインも必要になりますが、これについては後ほど、「Static Assets Integration」のセクションで説明します。

StackPath CDNの利用を開始する

StackPathのアカウントをまだお持ちでない方は、登録画面からご登録ください。その後、StackPathのアカウントにログインし、「Sites」セクションの「Create Site」ボタンをクリックします。

StackPathで「Create Site」をクリックしてサイトとの接続を開始
StackPathで「Create Site」をクリックしてサイトとの接続を開始

Select an Integration」の画面で、統合のタイプ(「Full Site」、「Static Assets」のいずれか)をクリックします。

StackPathで「Full Site Integration」「Static Assets Integration」のいずれかを選択
StackPathで「Full Site Integration」「Static Assets Integration」のいずれかを選択

「Full Site Integration」を選択した場合

ステップ1

「Full Site Integration」を選択して次のページに進んだら、ドメイン名を入力し、サイトで使用したいサービスを選択して、「Set Up Your Origin」をクリックします。

ドメインを入力し「Full Site Integration」で利用するサービスを選択
ドメインを入力し「Full Site Integration」で利用するサービスを選択

ステップ2

Set Up Your Origin」ページで、StackPathで自動的に入力されたIPアドレスが、MyKinsta上のサイトのIPアドレスと一致していることを確認します。

Kinstaサイトがパスワードで保護されている場合、「Is your origin address password protected?」で「Yes」を選択します。次に、StackPathがコンテンツにアクセスできるように、認証に使用するユーザー名とパスワードを入力します。

前のステップで配信ドメインを設定したので、ここで独自ドメインを入力する必要はありません。

Confirm Origin Address」ボタンをクリックして、次の画面に進みます。

オリジンIPアドレスとオリジン設定を確認
オリジンIPアドレスとオリジン設定を確認

ステップ3

SSL方式では、StackPathが提供する無料のSSLを使用することが推奨されます。KinstaのCloudflareとの統合で付与されるCloudflare SSLと干渉することはありません。

また、お客様のサイトがサードパーティで購入した別のSSL証明書を使用している場合、そのSSL証明書をアップロードすることもできます。

SSL接続で保護したいドメインを確認したら、「Confirm SSL Method」をクリックします。

StackPathで無料のSSL証明書とドメインを確認
StackPathで無料のSSL証明書とドメインを確認

ステップ4

StackPathのSSL証明書を発行するためには、ドメインの所有権を確認する必要があります。「DNS Challenge」または「HTTP Request」のいずれかが選べます。今回は、Kinsta DNSで管理するDNSを使用して、「DNS Challenge」の方法を選択しました。

別のDNSプロバイダ(レジストラまたは別のDNSホスト ※ドメインのネームサーバーをどこに紐付けたかにより異なります)を使用している場合は、手順が少し異なる場合があります。

NameValueの横にあるコピー(クリップボード)のアイコンをクリックして、DNSレコードに追加するCNAMEの情報をコピーします。

ドメインの所有権を確認するために、CNAMEの名前と値をコピーする
ドメインの所有権を確認するために、CNAMEの名前と値をコピーする

Kinsta DNSにCNAMEレコードを追加するには、MyKinstaにログインし、左サイドバーナビゲーションで「Kinsta DNS」をクリックしてください。

  1. DNSレコードを追加したいドメインをクリックします。
  2. DNSレコードを追加する」ボタンを押します。
  3. CNAMEタブをクリックし、StackPathのVerify Domain Ownershipページからコピーした内容を「ホスト名」「指定先」に貼り付けます。その後「DNSレコードを追加する」ボタンをクリックし、CNAMEレコードを保存します。

DNSレコードのTTL設定によりDNSレコードが伝搬するまでに数分から数時間かかる場合があります。

Kinsta DNSにドメイン認証CNAMEを追加する
Kinsta DNSにドメイン認証CNAMEを追加する

ステップ5

StackPathに戻り、「I have completed one of above validation steps to verify I own the domain.」の隣のボックスにチェックを入れ、Verify Domain Ownershipボタンをクリックします。

DNSレコードを追加し、ドメインの所有権を確認
DNSレコードを追加し、ドメインの所有権を確認

ステップ6

DNS伝搬が完了すると、ドメイン所有権が確認され、StackPathにDNSを紐付けるための情報が表示されます。コピー(クリップボード)アイコンをクリックして、表示されたIPアドレスをコピーしてください。

ステップ7

今回も、Kinsta DNSで行う方法をご紹介します。この手順は、お使いのDNSプロバイダによって異なる場合があります。

  1. MyKinstaのKinsta DNSを開いていない場合は、左サイドバーナビゲーションにあるKinsta DNSをクリックしてください。
  2. DNSレコードを追加したいドメインをクリックします。
  3. ドメインに既存のAレコードがある場合は、編集(鉛筆)アイコンをクリックして、StackPathで表示される最初のIPアドレスに変更します。そうでない場合は、DNSレコードを追加する」ボタンをクリックします。
    1. サブドメインにAレコードを追加しない限り、ホスト名は空欄のままにしてください
    2. IPv4 アドレスには、StackPathからコピーしたIPアドレスを使用します
    3. 「DNSレコードを変更する」ボタン(DNSレコードの更新)またはDNSレコードを追加する」ボタン(新しいDNSレコードの追加)をクリックして、DNSレコードを保存します。
      Aレコードを変更し、StackPathに紐付ける
      Aレコードを変更し、StackPathに紐付ける

      Aレコードを追加し、StackPathに紐付ける
      Aレコードを追加し、StackPathに紐付ける

注意)DNSレコード伝搬まで、最大で1時間かかる場合があります。

ステップ8

StackPathのダッシュボードに戻り、DNSを更新する手順が完了したことを確認するボックスにチェックを入れ、Complete Setupボタンをクリックします。

DNSがStackPathに紐付けられていることを確認し、設定を完了する
DNSがStackPathに紐付けられていることを確認し、設定を完了する

ステップ9

StackPathのサイトのOverviewページが表示されます。「www」版CNAME (www.example.com)のために追加または変更する必要がある別のDNSレコードが確認できます。「コピー(クリップボード)」アイコンをクリックし、値をコピーします。

「www」のCNAMEの値をコピーする
「www」のCNAMEの値をコピーする

ステップ10

引き続き、Kinsta DNSでこのDNSレコードを追加または編集する方法を紹介します。この手順は、お使いのDNSプロバイダによって異なる場合があります。

  1. 「www」のホスト名に対してすでにCNAMEレコードがある場合は、「編集(鉛筆)」アイコンをクリックしてそれを更新します。そうでない場合はDNSレコードを追加する」ボタンをクリックし、CNAMEタブを選択します。
  2. ホスト名: www
  3. 指定先: StackPathで表示される、wwwに紐付けるホスト名
  4. DNSレコードを変更する」ボタン(DNSレコードの更新)またはDNSレコードを追加する」ボタン(新しいDNSレコードの追加)をクリックして、DNSレコードを保存します。「www」のCNAMEレコードを編集し、StackPathに紐付ける
    「www」のCNAMEレコードを編集し、StackPathに紐付ける
    「www」のCNAMEレコードを編集し、StackPathに紐付ける

    「www」のCNAMEレコードを追加し、StackPathに紐付ける
    「www」のCNAMEレコードを追加し、StackPathに紐付ける

注意)DNSレコード伝搬まで、最大で1時間かかる場合があります。

ステップ11

StackPathのダッシュボードに戻り、Re-Check DNS Settingsボタンをクリックします。

CNAMEレコードを追加または変更した後、StackPathのDNSを再確認する
CNAMEレコードを追加または変更した後、StackPathのDNSを再確認する

これでサイトをStackPathのCDNに接続できました。設定の確認と構成(後述)を行って終了です。

「Static Assets Integration」を選択した場合

ステップ1

「Static Assets Integration」を選択して次のページに進んだら、静的アセットのサブドメインを入力し、「Content Delivery Network (CDN)」にチェックを入れて、Set Up Your Originボタンをクリックします。

Static Assets Integrationのドメインを入力する
Static Assets Integrationのドメインを入力する

ステップ2

Set Up Your Originページで、Origin Hostnameフィールドにのサイトのプライマリドメインを入力します。

Kinstaサイトがパスワードで保護されている場合、「Is your origin address password protected?」でYesを選択します。次に、StackPathがコンテンツにアクセスできるように、認証に使用するユーザー名とパスワードを入力します。

前のステップで設定済みなので、ここで独自ドメインを追加する必要はありません。

Complete Setupボタンをクリックすると、次のページに進みます。

「Origin Hostname」を入力し、設定を確認する
「Origin Hostname」を入力し、設定を確認する

ステップ3

StackPathのサイトの「Overview」ページが表示されます。ここから、設定を完了するために必要ないくつかのステップが始まります。まずサブドメインのSSL証明書を設定します。StackPathがサブドメイン上の静的アセットを安全に提供するためには、サブドメインの検証を終え、StackPathにカスタムSSL証明書を追加する必要があります。Configure SSL の下にあるClick here to configureをクリックして、作業を開始します。

「Static Assets Integration」のSSL設定を開始する
「Static Assets Integration」のSSL設定を開始する

ステップ4

EdgeSSLページで、Create Certificateボタンをクリックします。

EdgeSSLページでCustom Delivery Certificateを作成する
EdgeSSLページでCustom Delivery Certificateを作成する

ステップ5

StackPathが提供する無料のSSLを使用することが推奨されます。KinstaのCloudflareとの統合で付与されるCloudflare SSLと干渉することはありません。

また、お客様のサイトがサードパーティで購入した別のSSL証明書を使用している場合、そのSSL証明書をアップロードすることもできます。

Free Dedicated Certificate下のGenerateボタンをクリックすると、StackPathでのカスタム証明書の作成が始まります。

StackPathで無料の専用証明書を生成する
StackPathで無料の専用証明書を生成する

ステップ6

対象のサブドメインを選択し、Continue to Validationボタンをクリックします。

サブドメインを選択し、検証を続ける
サブドメインを選択し、検証を続ける

ステップ7

StackPathのSSL証明書を発行するためには、ドメインの所有権を確認する必要があります。「DNS Challenge」または「HTTP Request」のいずれかが選べます。今回は、Kinsta DNSで管理するDNSを使用して、「DNS Challenge」の方法を選択しました。

別のDNSプロバイダ(レジストラまたは別のDNSホスト ※ドメインのネームサーバーをどこに紐付けたかにより異なります)を使用している場合は、手順が少し異なる場合があります。

DNS Challenge Validationの横にあるShow Instructionsをクリックし、NameValueの横にあるコピー(クリップボード)のアイコンをクリックして、DNSレコードに追加するCNAMEの情報をコピーします。

ドメインの所有権を確認するために、CNAMEの名前と値をコピーする
ドメインの所有権を確認するために、CNAMEの名前と値をコピーする

Kinsta DNSにCNAMEレコードを追加するには、MyKinstaにログインし、左サイドバーナビゲーションで「Kinsta DNS」をクリックしてください。

  1. DNSレコードを追加したいドメインをクリックします。
  2. DNSレコードを追加する」ボタンを押します。
  3. CNAMEタブをクリックし、StackPathのVerify Domain Ownershipページからコピーした内容を「ホスト名」「指定先」に貼り付けます。その後「DNSレコードを追加する」ボタンをクリックし、CNAMEレコードを保存します。

DNSレコードのTTL設定によりDNSレコードが伝搬するまでに数分から数時間かかる場合があります。

Kinsta DNSにドメイン認証CNAMEを追加する
Kinsta DNSにドメイン認証CNAMEを追加する

ステップ8

StackPathに戻り、I’ve configured my DNS. Continueボタンをクリックします。EdgeSSLページで、無料専用証明書が有効になっていることが確認できます。有効になっていない場合は、DNSが伝搬し、証明書が有効になるまでにもう少し時間がかかります。

StackPathで無料専用証明書が有効になっている
StackPathで無料専用証明書が有効になっている

ステップ9

続いて、CDNが静的アセットを配信できるように、サブドメインをStackPathに紐付けます。「Overview」ページに移動し、「コピー(クリップボード)」アイコンをクリックして、CNAMEの値をコピーします。

サブドメインCNAMEの値をコピーする
サブドメインCNAMEの値をコピーする

ステップ10

今回も、Kinsta DNSでのDNSレコード追加、編集方法を紹介します。この手順は、お使いのDNSプロバイダによって異なる場合があります。

  1. MyKinstaのKinsta DNSを開いていない場合は、左サイドバーナビゲーションにあるKinsta DNSをクリックしてください。
  2. DNSレコードを追加したいドメインをクリックします。
  3. DNSレコードを追加する」ボタンをクリックします。
    1. CNAME」タブをクリックし、「ホスト名フィールドにサブドメインの最初の部分(例: static)を貼り付けます。
    2. StackPath からコピーした「Value」を「指定先」フィールドに貼り付けます。
    3. DNSレコードを追加する」ボタンをクリックして、CNAMEレコードを保存します。

      静的アセットのサブドメインにCNAMEレコードを追加する
      静的アセットのサブドメインにCNAMEレコードを追加する

注意)DNSレコード伝搬まで、最大で1時間かかる場合があります。

ステップ11

StackPathに戻り、OverviewページでRe-Check DNS Settingsボタンをクリックします。

サブドメインのCNAMEレコードを追加した後、StackPathのDNSを再確認する
サブドメインのCNAMEレコードを追加した後、StackPathのDNSを再確認する

必要に応じて、DNSが伝搬するまでにさらに時間をかけ、DNSの設定を再度確認します。DNSが伝搬すると、サイトを指定するための指示が消え、「Overview」ページにサイトを管理するためのオプションが表示されます。

ステップ12

静的アセットのURLをStackPathのエッジアドレスから自らのサブドメインに書き換えるには、CDN Enablerプラグインを追加して設定する必要があります。このプラグインはKeyCDNにより開発されたものですが、他のCDNでも利用できます。プラグインをインストールし、有効化したら、プラグインの設定ページに移動し、サイトの静的アセット用のサブドメイン(例: static.example.com)を入力し、Save Changes and Validate Configurationボタンをクリックします。

静的アセットのサブドメインを入力し、CDN Enablerで設定を保存・検証する
静的アセットのサブドメインを入力し、CDN Enablerで設定を保存・検証する

すべてが正しく設定できると、CDNホスト名が有効であることを示すメッセージが表示され、200ステータスが返されます。保存時にエラーが表示された場合は、上記のすべての設定、サブドメインのスペル、およびDNSが伝搬されていることを再確認してください。

CDN Enablerの設定で、有効なCDNホスト名と200 HTTPステータスコードを確認
CDN Enablerの設定で、有効なCDNホスト名と200 HTTPステータスコードを確認

これでお客様のサイトはStackPathに接続された状態であり、StackPathのCDNが静的アセットを配信していることが確認できました。ここから、設定の調整(次のセクション)へと進むことができます。

StackPathの設定

ドメインが完全にStackPathに紐付けられたので、KinstaのCloudflare統合との互換性を保つために設定の調整と確認を始めることができます。

設定

(Sites」>「Settings)

Pull Protocol: リダイレクトのループやエラーを回避するために、HTTPS Onlyに設定します。

CDN

(Sites」>「Settings)

  1. Query String Control: デフォルトのCache all Query Stringsのままにしておくと、正しくないコンテンツの読み込みを防ぐことができます。
  2. Content Persistence: これはデフォルトでは無効になっていますが、オリジンサーバーがダウンした時でもコンテンツの可用性を確保したい、という場合には、有効にすることができます。
  3. URL Caching: (特に動的なサイトを運営している場合は)無効のままにしてください。動的なサイトで、特定のセクションをファイル拡張子なしでキャッシュするには、独自のEdgeRule を作成してください。

その他の構成と設定

  1. Sites」>「EdgeSSL」>「Force HTTPS Connections: すべての訪問者をHTTPではなくHTTPSにリダイレクトするには、MyKinstaでHTTPSリダイレクトを設定するか、StackPathでHTTPSを強制します。リダイレクトエラーやループが発生する可能性が高いため、両方の機能を有効にしないようにご注意ください。
  2. Sites」>「EdgeRules」>「Delivery Rule: 特定の状況下で、管理ツールバーやその他のユーザーの要素が誤ってキャッシュされることがあります。この潜在的に重大なセキュリティ上のリスクを抑えるためには、新しいDelivery Rule(配信ルール)を作成する必要があります。
    1. If: クッキーがwordpres_logged_in*にマッチする場合(Cookie Matches wordpres_logged_in*)
    2. Then: キャッシュをバイパスする(Bypass Cache)
  3. Sites」>「EdgeRules」>「Force www Connections: 複数のドメインやHostヘッダーと競合する可能性があるため、無効のままにしておくことをお勧めします。有効にした場合、wwwサブドメイン(www.example.com)のDNSをStackPathに紐付けてください。

これで、StackPathでの設定と構成は完了です。何か問題が発生した場合には、以下のトラブルシューティングセクションをご活用ください。

StackPathの一般的な問題のトラブルシューティング

StackPathのセットアップ後に、サイトが期待通りに動作しないことがあるかもしれません。CDNの層を追加した状態では、それに準じたトラブルシューティングを行う必要があります。以下に、一般的な例を紹介します。

サイトに変更が反映されない

StackPathを使用すると、キャッシュの層が追加されるため、キャッシュクリアの際には、これを忘れてはなりません。インストール後、または再インストール後に、サイトの変更内容がうまく表示されない場合、またはプラグインが期待通りに動作しない場合は、以下を含むすべてのレイヤーでキャッシュをクリアしてください。

  1. プラグイン(該当する場合)
  2. テーマ(該当する場合)
  3. Kinstaのサイト/サーバーキャッシュ(MyKinstaまたはKinsta MUプラグインのいずれかから)。
  4. StackPathのキャッシュ
  5. ブラウザのキャッシュ

誤検出によりIPアドレスがブロックされた

StackPathでWAFandまたはFirewall(ファイアウォール)を有効にすると、サイト管理者や訪問者によるサイトの閲覧が誤ってブロックされることがあります。そのような問題が発生した場合、StackPathのサポート、Kinstaのサポートを利用し、ブロックが発生した場所を突き止める必要があります。

EdgeRules」>「Delivery Rulesで独自のルールを設定している場合は、そのルールも確認する必要があります。

HTTPとHTTPSのリダイレクトループ

サイト上でHTTPからHTTPSへのリダイレクトループが発生している場合は、以下の設定を確認してください。

  1. StackPathで、Pull Protocol(「Sites」>「Overview」>「Settings」)が「HTTPS Only」に設定されていることを確認してください。
  2. MyKinsta (Sites」>(サイト名)>「ツール」>「HTTPSリダイレクト」) または StackPath (Sites」>「EdgeSSL」>「Force HTTPS Connections) のいずれか一箇所のみで(両方ではなく)、HTTPSリダイレクトが有効になっていることを確認してください。

高度な設定と互換性

Host Header

Sites」>「Settings」>「Host Header: Hostヘッダは、MyKinstaに追加されているドメインと一致する必要があります。StackPathで追加した最初のドメインがデフォルトで、オリジンサーバーからコンテンツを取得するのに使用されるHostヘッダになります。MyKinstaとStackPathの両方に複数のドメインが追加されている場合、これをDynamicに変更してください。

Origin Authentication

Sites」>「Settings」>「Origin Authenticationを選択します。Kinstaのサイトがパスワードで保護されている場合、StackPathがコンテンツにアクセスできるように設定する必要があります。

Lifetime

Sites」>「CDN」>「Lifetime: デフォルトは“オリジンコントロール”であり、これはStackPathがオリジンヘッダを尊重することを意味します。KinstaのCloudflare統合機能では、静的ファイルの有効期限は最大に設定されています。別の設定にしたい場合には、StackPathでこれを変更できます。

Caching By Header

Sites」>「CDN」>「Caching By Header: 同じURLで、モバイル・PC間で異なるコンテンツ(CSSやJavaScriptで別のレイアウトを表示するわけではなく、完全に異なるコンテンツ)を配信する場合にのみ有効にします。また、そのコンテンツの配信のためのNginxルールを作成するために、サポートへのお問い合わせが必要になる場合があります。

Delivery Rules

Sites」>「EdgeRules」>「Delivery Rules: WordPressのログインURLを変更している場合は、そのページのキャッシュをバイパスするためにEdgeRulesで特別なルールを作成する必要があります。次の例では、ログインURLが「https://example.com/mylogin」だと仮定しています。

  1. If: URLがhttps://example.com/mylogin*に一致する場合(URL Matches https://example.com/mylogin*)
  2. Then:キャッシュをバイパスする(Bypass Cache)

Custom robots.txt file

Sites」>「EdgeRules」>「Custom robots.txt file: StackPathでこれを有効にすると、Kinstaに提供のrobots.txtファイルは無視され、StackPathでrobots.txtファイルを管理することになります。Kinstaでrobots.txtファイルに加えられた変更は、StackPathにより提供されるrobots.txtファイルに影響せず、検索エンジンによって見られることもありません。

Referrer Protection

Sites」>「EdgeRules」>「Referrer Protection: この機能が必要な場合には、サイトへのすべてのトラフィックがブロックされる可能性があるため、注意して有効にしてください。訪問者のリファラ(参照元)がStackPathのリストにあるドメインと一致しない場合、「403 Forbidden」レスポンスが返され、サイト閲覧ができなくなります。