レスポンスヘッダーを変更する
概要
KurocoEdgeの一般的な使用例の1つに、サイトにHTTPヘッダーを追加、置換、または削除することがあります。通常、ヘッダーの変更は複雑な手順を要する場合がありますが、このチュートリアルに従い、KurocoEdgeを使用すると、比較的簡単かつ迅速にヘッダーの変更が可能です。
以下の手順では、ネットワークのエッジでウェブサイトに適用されるレスポンスヘッダーに対するKurocoEdgeのルールを作成します。
学べること
新しいヘッダーの追加
最初の例では、KurocoEdgeで新しいダミーヘッダーを作成してみます。ダミーヘッダーは、KurocoEdgeで作成したルールが意図した通りにサイトに適用されているかを検証するために使用します。
まず、作業用の下書きのデプロイを作成します。
「管理画面」メニューの「デプロイ一覧」に遷移し、運用中もしくは下書きの[バージョン]をクリックします。
[クローン]をクリックします。
下書きのデプロイが作成されるので、「ルール一覧」横の「追加」ボタンをクリックします。
「レスポンス」タブをクリックし、「アクション追加」をクリックします。
レスポンスヘッダーではなく、リクエストヘッダーを作成したい場合は、「リクエスト」タブで設定をします。
実行のドロップダウンメニューを開き、「項目追加」をクリックします。
ドロップダウンメニューが開くので以下の設定をします。
項目 | 値 |
---|---|
項目設定 | ヘッダー |
操作 | セットする |
ヘッダー名 | MyHeader |
値 | MyValue |
「ヘッダー名」フィールドをクリックすると、一般的なヘッダー名がドロップダウンで表示されます。独自のヘッダー名を作成したい場合は直接入力してください。
設定が完了したら、ページの左下にある[更新]ボタンをクリックして変更を保存します。
ヘッダーの追加の確認
意図したヘッダーが追加されたことを確認するために、KurocoEdge管理パネルの右上にある[プレビュー]ボタンをクリックして、サイトのプレビューを開きます。
ヘッダーがサイトに追加されているかを確認するため、ページ上の任意の場所で[右クリック]->[検証]をクリックして、デベロッパーツールを開きます。
デベロッパーツールが開いたら、ネットワークタブをクリックします。[Record]ボタンがアクティブ(赤色)であることを確認し、ページをリフレッシュしてネットワークアクティビティを記録します。これには、HTTPリクエストとレスポンス、およびそれらが含むヘッダーが含まれます。
サイトがロードされたら、サイトのメインドキュメントをクリックします。
「Headers」タブをクリックすると、「MyHeader」という名前で、「MyValue」の値を持ったヘッダーが生成されていることが確認できます。
既存のヘッダーの置換
上記で試した「セットする」の操作の代わりに、「正規表現で置換する」を選択すると、既存のヘッダーの「値」を「検索/置換」できます。
単純な置換
ルールを設定する前に、既存のヘッダーを確認します。 今回の例では「Server」ヘッダーの値を置換します。値は、デベロッパーツールで確認してください。
単純に既存のヘッダーの値を新しい値で置き換える場合、既存ヘッダーの値をそのまま「正規表現のパターン」フィールドに入力し、置換する値を「値」フィールドに入力します。
以下のように設定します。
項目 | 値 |
---|---|
項目設定 | ヘッダー |
操作 | 正規表現で置換する |
ヘッダー名 | Server |
正規表現のパターン | nginx |
値 | MyReplacementValue |
上記の例では、現在の値「nginx」が新しい値「MyReplacementValue」に置換されます。
[更新する]ボタンをクリックして、ルールを保存し、プレビューでサイトを確認すると、更新されたヘッダーの値が表示されます。
regexを使用した高度な置換
「正規表現のパターン」フィールドに正規表現を指定すると、より高度な置換が可能です。
これには、正規表現の記述についての技術的な知識が必要です。
以下に、いくつかの設定例を示します。
例 | 既存のヘッダーの値 | 正規表現のパターン | 値 | 結果 |
---|---|---|---|---|
ヘッダー内のLocation 値(ページリダイレクトURLを含む)を置換する | Location | www\.original-domain\.com | www.new-domain.com | www.new-domain.com |
PascalCaseを半角スペース区切りの単語に変換する | MyServerName | ([a-z]) | [ $1] | My Server Name |
半角スペースをハイフンに置換する | my server name | ([ ]) | -$1 | my-server-name |
スペースをドットに置換する | my server name | [ ]) | .$1 | my.server.name |
文字の周りに角括弧を付ける | dataObj0 | ([0]) | [$1] | dataObj[0] |
MyServerName
の例では、値の鍵括弧の中で、$1
変数の前に半角スペースがあることに注意してください。
基本的には、正規表現パターンを使用して任意の変更を行うことができますが、Rust言語の正規表現エンジンによるいくつかの制限があります。 たとえば、パスカルケース、キャメルケースの文字列をケバブケースに変換することは現時点ではできません。
既存のヘッダーの削除
最後に「削除」するの操作を選択すると、既存のヘッダーを削除できます。
項目 | 値 |
---|---|
項目設定 | ヘッダー |
操作 | 削除する |
ヘッダー名 | Server |
上記の設定をすると、serverの名前のヘッダー削除されます。
サイトからヘッダーを削除すると、予期しない問題が発生する可能性があります。ヘッダーを削除するルールを有効にする際は注意して進めてください。
まとめ
このチュートリアルでは、サイトのHTTPレスポンスヘッダーを追加、置換、または削除する手順を説明しました。 チュートリアルではダミーのヘッダーを作成しましたが、通常は、実際に利用するヘッダーを作成することをお勧めします。
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Discordコミュニティにご参加ください。