メインコンテンツまでスキップ

レスポンスヘッダーを変更する

概要

KurocoEdgeの一般的な使用例の1つに、サイトにHTTPヘッダーを追加、置換、または削除することがあります。通常、ヘッダーの変更は複雑な手順を要する場合がありますが、このチュートリアルに従い、KurocoEdgeを使用すると、比較的簡単かつ迅速にヘッダーの変更が可能です。

以下の手順では、ネットワークのエッジでウェブサイトに適用されるレスポンスヘッダーに対するKurocoEdgeのルールを作成します。

学べること

新しいヘッダーの追加

最初の例では、KurocoEdgeで新しいダミーヘッダーを作成してみます。ダミーヘッダーは、KurocoEdgeで作成したルールが意図した通りにサイトに適用されているかを検証するために使用します。

まず、作業用の下書きのデプロイを作成します。

「管理画面」メニューの「デプロイ一覧」に遷移し、運用中もしくは下書きの[バージョン]をクリックします。

Image from Gyazo

[クローン]をクリックします。

Image from Gyazo

下書きのデプロイが作成されるので、「ルール一覧」横の「追加」ボタンをクリックします。

Image from Gyazo

「レスポンス」タブをクリックし、「アクション追加」をクリックします。

Image from Gyazo

ヒント

レスポンスヘッダーではなく、リクエストヘッダーを作成したい場合は、「リクエスト」タブで設定をします。

実行のドロップダウンメニューを開き、「項目追加」をクリックします。

Image from Gyazo

ドロップダウンメニューが開くので以下の設定をします。

項目
項目設定ヘッダー
操作セットする
ヘッダー名MyHeader
MyValue

Image from Gyazo

ヒント

「ヘッダー名」フィールドをクリックすると、一般的なヘッダー名がドロップダウンで表示されます。独自のヘッダー名を作成したい場合は直接入力してください。

設定が完了したら、ページの左下にある[更新]ボタンをクリックして変更を保存します。

Image from Gyazo

ヘッダーの追加の確認

意図したヘッダーが追加されたことを確認するために、KurocoEdge管理パネルの右上にある[プレビュー]ボタンをクリックして、サイトのプレビューを開きます。 Image from Gyazo

ヘッダーがサイトに追加されているかを確認するため、ページ上の任意の場所で[右クリック]->[検証]をクリックして、デベロッパーツールを開きます。

デベロッパーツールが開いたら、ネットワークタブをクリックします。[Record]ボタンがアクティブ(赤色)であることを確認し、ページをリフレッシュしてネットワークアクティビティを記録します。これには、HTTPリクエストとレスポンス、およびそれらが含むヘッダーが含まれます。

Image from Gyazo

サイトがロードされたら、サイトのメインドキュメントをクリックします。

Image from Gyazo

「Headers」タブをクリックすると、「MyHeader」という名前で、「MyValue」の値を持ったヘッダーが生成されていることが確認できます。

Image from Gyazo

既存のヘッダーの置換

上記で試した「セットする」の操作の代わりに、「正規表現で置換する」を選択すると、既存のヘッダーの「値」を「検索/置換」できます。

単純な置換

ルールを設定する前に、既存のヘッダーを確認します。 今回の例では「Server」ヘッダーの値を置換します。値は、デベロッパーツールで確認してください。

Image from Gyazo

単純に既存のヘッダーの値を新しい値で置き換える場合、既存ヘッダーの値をそのまま「正規表現のパターン」フィールドに入力し、置換する値を「値」フィールドに入力します。
以下のように設定します。

項目
項目設定ヘッダー
操作正規表現で置換する
ヘッダー名Server
正規表現のパターンnginx
MyReplacementValue

Image from Gyazo

上記の例では、現在の値「nginx」が新しい値「MyReplacementValue」に置換されます。
[更新する]ボタンをクリックして、ルールを保存し、プレビューでサイトを確認すると、更新されたヘッダーの値が表示されます。

Image from Gyazo

regexを使用した高度な置換

「正規表現のパターン」フィールドに正規表現を指定すると、より高度な置換が可能です。
これには、正規表現の記述についての技術的な知識が必要です。

以下に、いくつかの設定例を示します。

既存のヘッダーの値正規表現のパターン結果
ヘッダー内のLocation値(ページリダイレクトURLを含む)を置換するLocationwww\.original-domain\.comwww.new-domain.comwww.new-domain.com
PascalCaseを半角スペース区切りの単語に変換するMyServerName([a-z])[ $1]My Server Name
半角スペースをハイフンに置換するmy server name([ ])-$1my-server-name
スペースをドットに置換するmy server name[ ]).$1my.server.name
文字の周りに角括弧を付けるdataObj0([0])[$1]dataObj[0]
注意

MyServerNameの例では、値の鍵括弧の中で、$1変数の前に半角スペースがあることに注意してください。

ヒント

基本的には、正規表現パターンを使用して任意の変更を行うことができますが、Rust言語の正規表現エンジンによるいくつかの制限があります。 たとえば、パスカルケース、キャメルケースの文字列をケバブケースに変換することは現時点ではできません。

既存のヘッダーの削除

最後に「削除」するの操作を選択すると、既存のヘッダーを削除できます。

項目
項目設定ヘッダー
操作削除する
ヘッダー名Server

Image from Gyazo

上記の設定をすると、serverの名前のヘッダー削除されます。

注意

サイトからヘッダーを削除すると、予期しない問題が発生する可能性があります。ヘッダーを削除するルールを有効にする際は注意して進めてください。

まとめ

このチュートリアルでは、サイトのHTTPレスポンスヘッダーを追加、置換、または削除する手順を説明しました。 チュートリアルではダミーのヘッダーを作成しましたが、通常は、実際に利用するヘッダーを作成することをお勧めします。


サポート

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Discordコミュニティにご参加ください。