OpenResty Edge における内蔵キャプチャページの設定
本日は、アプリケーションに OpenResty Edge の内蔵キャプチャを設定する方法をご紹介します。
アプリケーションに OpenResty Edge の内蔵キャプチャを設定する
OpenResty Edge の内蔵キャプチャは、OpenResty Edge ゲートウェイサーバーから直接返されるキャプチャレスポンスです。
いつものように、OpenResty Edge の Admin Web コンソールにアクセスしましょう。これは私たちのコンソールのサンプルデプロイメントです。各ユーザーは独自のローカルデプロイメントを持っています。
引き続き、test-edge.com というアプリケーションを使用して OpenResty Edge の内蔵キャプチャ機能をデモンストレーションします。
そのアプリケーションに入ります。
以前のチュートリアルで、すでにアップストリームを定義しています。
この my_backend アップストリームは、バックエンドサーバーを定義しています。
ここにも、すでに定義されているページルールがあります。
以前のチュートリアルでは、このページルールは先ほど見たアップストリームへのリバースプロキシを設定しました。
ここで、OpenResty Edge の内蔵キャプチャを有効にする新しいページルールを追加します。
このルールに条件を設定していないことに注意してください。これは、このルールが無条件でトリガーされることを意味します。
新しいアクションを追加します。
「captcha」と入力して検索します。
「Enable OpenResty Edge Built-in Captcha」オプションを選択します。
クライアントがキャプチャ認証を通過すると、OpenResty Edge は指定された期間、同じクライアントからのすべてのリクエストを許可します。この期間は clearance time と呼ばれます。キャプチャは cookie を使用して認証情報を記録します。
この時間を 10 秒に設定します。
このルールを最上位に移動して、優先的に実行されるようにします。これはデモンストレーションを容易にするためです。任意の順序に設定することもできます。このルールを保存します。
いつものように、編集したページルールをプッシュするために新しい設定をリリースする必要があります。
このボタンをクリックします。
リリースします!
完全に同期されました。
これで、新しいページルールがすべてのゲートウェイクラスターとサーバーにプッシュされました。
設定の変更にはサーバーのリロード、再起動、またはバイナリのアップグレードが不要です。そのため、非常に効率的でスケーラブルです。
テスト
このドメインにアクセスしてみましょう。OpenResty Edge の内蔵キャプチャページが表示され、オリジンサーバーのコンテンツは表示されません。
キャプチャを入力します。
これで、この URI が期待したコンテンツが表示されます。先ほど clearance time を 10 秒に設定したことに注意してください。これは、10 秒間はキャプチャなしでこのドメインにアクセスできることを意味します。
10 秒後には、再度認証が必要になります。
アクションでキャプチャを設定するだけでなく、WAF ルールでもキャプチャを設定できます。WAF ルールの具体的な機能については、別のビデオでデモンストレーションします。
ここでは、WAF ルールで OpenResty Edge の内蔵キャプチャを設定する方法を簡単に見てみましょう。
WAF を有効にします。
ここでは、block action を OpenResty Edge の内蔵キャプチャに設定できます。
内蔵キャプチャオプションを選択します。
先ほどアクションを設定したときと同様に、ここでも clearance time を設定する必要があります。ここでは詳細なデモンストレーションは省略します。詳細については、WAF ルールに関連するビデオをご覧ください。
ちなみに、サードパーティのキャプチャサービスである hCaptcha もサポートしています。この機能の詳細については、OpenResty Edge hCaptcha のチュートリアルをご覧ください。
よくある質問(FAQ)
OpenResty Edge の内蔵キャプチャの clearance time とは何ですか?
clearance time とは、クライアントがキャプチャ認証を通過した後、OpenResty Edge が同じクライアントからのすべてのリクエストをキャプチャなしで許可する期間のことです。認証情報は cookie で記録されます。clearance time が経過すると、クライアントは再度認証する必要があります。
内蔵キャプチャの有効化にバックエンドの変更やサーバーの再起動は必要ですか?
不要です。キャプチャレスポンスは OpenResty Edge ゲートウェイサーバーから直接返されるため、バックエンドアプリケーションの変更は一切不要です。新しいページルールのリリースにも、サーバーのリロード、再起動、バイナリアップグレードは必要ありません。
内蔵キャプチャを WAF のブロックアクションとして使用できますか?
できます。ページルールのアクションとして有効にするだけでなく、ページルール内で WAF を有効化し、その block action を OpenResty Edge の内蔵キャプチャに設定できます。同様に clearance time の設定が必要です。
内蔵キャプチャと hCaptcha の違いは何ですか?
内蔵キャプチャは OpenResty Edge ゲートウェイ自身が生成して直接返すもので、サードパーティサービスに依存しません。hCaptcha は OpenResty Edge が同様にサポートするサードパーティのキャプチャサービスです。設定方法は hCaptcha 設定チュートリアルをご覧ください。
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(マイクロサービスおよび分散トラフィックに最適化された多機能ゲートウェイソフトウェア)は、世界中の多くの上場企業および大企業から高い評価を得ております。OpenResty 以外にも、章亦春は Linux カーネル、Nginx、LuaJIT、GDB、SystemTap、LLVM、Perl など、複数のオープンソースプロジェクトに累計 100 万行以上のコードを寄与し、60 以上のオープンソースソフトウェアライブラリを執筆しております。
翻訳
英文版の原文と日本語訳版(本文)をご用意しております。読者の皆様による他の言語への翻訳版も歓迎いたします。全文翻訳で省略がなければ、採用を検討させていただきます。心より感謝申し上げます!























































