カスタムレスポンスヘッダーの追加方法(OpenResty Edge を使用)
このチュートリアルでは、OpenResty Edge を使用してカスタムレスポンスヘッダーを追加する方法を紹介します。サーバープロセスの再起動や再読み込みは必要ありません。
文字列を値として新しいレスポンスヘッダーを追加
OpenResty Edge の Admin Web コンソールにアクセスしましょう。これは当社のコンソールのサンプルデプロイメントです。各ユーザーは独自のローカルデプロイメントを持っています。以前の例のアプリケーション「test-edge.com」を引き続き使用します。
そのアプリケーションに入ります。
まず「Page Rules」ページに移動します。
ここをクリックして新しいページルールを追加します。
アクションを追加します。
「Add response header」を選択します。
レスポンスヘッダーには名前と対応する値の2つの部分があります。
レスポンスヘッダーに「X-TEST-EXTRA-HEADER」という名前を付けます。
ここでの値には、文字列または組み込み変数を選択できます。まずは文字列でテストしてみましょう。
「hello world」と入力します。
このルールが既存の通常ルールの前に実行されるようにします。
このページルールを保存します。
いつものように、先ほどの変更をプッシュするために新しいバージョンを公開する必要があります。
リリースします!
新しいバージョンがすべてのゲートウェイサーバーに同期されました。
これで、新しいページルールがすべてのゲートウェイクラスターとサーバーにプッシュされました。
これらの設定変更は、サーバーの再読み込み、再起動、またはバイナリアップグレードを必要としません。そのため、非常に効率的でスケーラブルです。
ゲートウェイサーバーでテストしてみましょう。
このサンフランシスコのゲートウェイサーバーの IP アドレスをコピーします。
そして、ターミナルでテストします。
这里有我们添加的 “X-TEST-EXTRA-HEADER” 响应头。
「System Hostname」を値とする組み込み変数
次に、レスポンスヘッダーの値として組み込み変数を使用してみましょう。
このページルールを編集します。
レスポンスヘッダーの値として組み込み変数を選択します。
現在、組み込み変数には2つのオプションがあります。1つは「Request Header」で、これはリクエスト情報を取得できることを意味します。「Request Header」を名前で指定する必要があります。例えば、「Origin」、「Referer」などです。
もう1つは「System Hostname」で、これは以前に設定したゲートウェイサーバーの名前です。
「System Hostname」を試してみましょう。
保存します。
先ほどと同様に、この新しいページルールをプッシュするために公開する必要があります。
リリースします!
これですべてのゲートウェイクラスターとサーバーにプッシュされました。
まず、以前のサーバーのホスト名を確認できます。
このゲートウェイサーバーのホスト名は以下の通りです。
次に、ターミナルに切り替えます。
「X-TEST-EXTRA-HEADER」レスポンスヘッダーの値が、先ほど確認したホスト名に変更されています。
別のゲートウェイサーバーをテストしてみましょう。例えば、フランクフルトにあるこのサーバーのホスト名は以下の通りです。
再びターミナルに戻ります。
今度はレスポンスヘッダーの値が、フランクフルトサーバーのホスト名になっています。
OpenResty Edge について
OpenResty Edge は、マイクロサービスと分散トラフィックアーキテクチャ向けに設計された多機能ゲートウェイソフトウェアで、当社が独自に開発しました。トラフィック管理、プライベート CDN 構築、API ゲートウェイ、セキュリティ保護などの機能を統合し、現代のアプリケーションの構築、管理、保護を容易にします。OpenResty Edge は業界をリードする性能と拡張性を持ち、高並発・高負荷シナリオの厳しい要求を満たすことができます。K8s などのコンテナアプリケーショントラフィックのスケジューリングをサポートし、大量のドメイン名を管理できるため、大規模ウェブサイトや複雑なアプリケーションのニーズを容易に満たすことができます。
著者について
章亦春(Zhang Yichun)は、オープンソースの OpenResty® プロジェクトの創始者であり、OpenResty Inc. の CEO および創業者です。
章亦春(GitHub ID: agentzh)は中国江蘇省生まれで、現在は米国ベイエリアに在住しております。彼は中国における初期のオープンソース技術と文化の提唱者およびリーダーの一人であり、Cloudflare、Yahoo!、Alibaba など、国際的に有名なハイテク企業に勤務した経験があります。「エッジコンピューティング」、「動的トレーシング」、「機械プログラミング」 の先駆者であり、22 年以上のプログラミング経験と 16 年以上のオープンソース経験を持っております。世界中で 4000 万以上のドメイン名を持つユーザーを抱えるオープンソースプロジェクトのリーダーとして、彼は OpenResty® オープンソースプロジェクトをベースに、米国シリコンバレーの中心部にハイテク企業 OpenResty Inc. を設立いたしました。同社の主力製品である OpenResty XRay動的トレーシング技術を利用した非侵襲的な障害分析および排除ツール)と OpenResty Edge(マイクロサービスおよび分散トラフィックに最適化された多機能
翻訳
英文版の原文と日本語訳版(本文)をご用意しております。読者の皆様による他の言語への翻訳版も歓迎いたします。全文翻訳で省略がなければ、採用を検討させていただきます。心より感謝申し上げます!