本日は、アプリケーションに OpenResty Edge の内蔵キャプチャを設定する方法をご紹介します。

埋め込み画像

アプリケーションに OpenResty Edge の内蔵キャプチャを設定する

OpenResty Edge の内蔵キャプチャは、OpenResty Edge ゲートウェイサーバーから直接返されるキャプチャレスポンスです。

埋め込み画像

いつものように、OpenResty Edge の Admin Web コンソールにアクセスしましょう。これは私たちのコンソールのサンプルデプロイメントです。各ユーザーは独自のローカルデプロイメントを持っています。

スクリーンショット

引き続き、test-edge.com というアプリケーションを使用して OpenResty Edge の内蔵キャプチャ機能をデモンストレーションします。

スクリーンショット

そのアプリケーションに入ります。

Screenshot

以前のチュートリアルで、すでにアップストリームを定義しています。

スクリーンショット

この my_backend アップストリームは、バックエンドサーバーを定義しています。

スクリーンショット

ここにも、すでに定義されているページルールがあります。

スクリーンショット

以前のチュートリアルでは、このページルールは先ほど見たアップストリームへのリバースプロキシを設定しました。

Screenshot

ここで、OpenResty Edge の内蔵キャプチャを有効にする新しいページルールを追加します。

スクリーンショット

このルールに条件を設定していないことに注意してください。これは、このルールが無条件でトリガーされることを意味します。

スクリーンショット

新しいアクションを追加します。

スクリーンショット

「captcha」と入力して検索します。

スクリーンショット

「Enable OpenResty Edge Built-in Captcha」オプションを選択します。

スクリーンショット

クライアントがキャプチャ認証を通過すると、OpenResty Edge は指定された期間、同じクライアントからのすべてのリクエストを許可します。この期間は clearance time と呼ばれます。キャプチャは cookie を使用して認証情報を記録します。

Screenshot

この時間を 10 秒に設定します。

スクリーンショット

このルールを最上位に移動して、優先的に実行されるようにします。これはデモンストレーションを容易にするためです。任意の順序に設定することもできます。

スクリーンショット

このルールを保存します。

スクリーンショット

いつものように、編集したページルールをプッシュするために新しい設定をリリースする必要があります。

スクリーンショット

このボタンをクリックします。

スクリーンショット

リリースします!

Screenshot

完全に同期されました。

スクリーンショット

これで、新しいページルールがすべてのゲートウェイクラスターとサーバーにプッシュされました。

Embeded video

Embeded video

Embeded video

設定の変更にはサーバーのリロード、再起動、またはバイナリのアップグレードが不要です。そのため、非常に効率的でスケーラブルです。

Embeded image

テスト

このドメインにアクセスしてみましょう。OpenResty Edge の内蔵キャプチャページが表示され、オリジンサーバーのコンテンツは表示されません。

埋め込みビデオ

キャプチャを入力します。

埋め込みビデオ

これで、この URI が期待するコンテンツが表示されます。先ほど clearance time を 10 秒に設定したことに注意してください。これは、10 秒間はキャプチャなしでこのドメインにアクセスできることを意味します。

埋め込みビデオ

10 秒後には、再度認証が必要になります。

Embeded video

アクションでキャプチャを設定するだけでなく、WAF ルールでもキャプチャを設定できます。WAF ルールの具体的な機能については、別のビデオでデモンストレーションします。

Screenshot

ここでは、WAF ルールで OpenResty Edge の内蔵キャプチャを設定する方法を簡単に見てみましょう。

Screenshot

WAF を有効にします。

Screenshot

ここでは、block action を OpenResty Edge の内蔵キャプチャに設定できます。

Screenshot

内蔵キャプチャオプションを選択します。

Screenshot

Screenshot

先ほどアクションを設定したときと同様に、ここでも clearance time を設定する必要があります。ここでは詳細なデモンストレーションは省略します。詳細については、WAF ルールに関連するビデオをご覧ください。

スクリーンショット

ちなみに、サードパーティのキャプチャサービスである 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、LuaJITGDBSystemTapLLVM、Perl など、複数のオープンソースプロジェクトに累計 100 万行以上のコードを寄与し、60 以上のオープンソースソフトウェアライブラリを執筆しております。

翻訳

英文版の原文と日本語訳版(本文)をご用意しております。読者の皆様による他の言語への翻訳版も歓迎いたします。全文翻訳で省略がなければ、採用を検討させていただきます。心より感謝申し上げます!