-
-
-
セッション数の制限に関するユースケース
-
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
ユースケース:セッション数の制限
このユースケースでは、要件はアクティブなバックエンドセッションの数を制限することです。展開では、各セッションログインの URL にはログインがあり、各セッションログアウトには URL にログアウトがあります。ログインが成功すると、バックエンドは一意の10文字の値を持つセッションIDCookie を設定します。
このユースケースを実現するには、次の操作を実行します。
-
アクティブな各セッションを格納できるマップ変数を作成します。マップのキーはセッション ID です。変数の有効期限は 600 秒 (10 分) に設定されています。</span>
> add ns variable session_map -type map(text(10),ulong,100) -expires 600 <!--NeedCopy-->
-
map 変数に次の代入を作成します。</span>
-
セッション ID のエントリを作成し、その値を 1 に設定します (この値は使用されません)。</span>
> add ns assignment add_session -variable '$session_map[http.req.cookie.value("sessionid")]' -set 1 <!--NeedCopy-->
-
セッション ID のエントリを解放します。これにより、session_map の値カウントが暗黙的に減少します。</span>
> add ns assignment delete_session -variable '$session_map[http.req.cookie.value("sessionid")]' -clear <!--NeedCopy-->
-
-
次のレスポンダーポリシーを作成します。</span>
-
HTTP リクエストにそのセッション ID のマップエントリが存在するかどうかを確認する。マップエントリが存在しない場合、add_session 割り当てが実行されます。</span>
> add responder policy add_session_pol 'http.req.url.contains("example") || $session_map.valueExists(http.req.cookie.value("abc"))' add_session <!--NeedCopy-->
注: add_session_pol ポリシーの valueExists () 関数は、セッションのマップエントリへの参照としてカウントされるため、各リクエストはそのセッションの有効期限タイムアウトをリセットします。10 分経過してもセッションの要求が受信されない場合、セッションのエントリの割り当ては解除されます。
-
セッションがいつログアウトしたかを確認する。delete_session 割り当てが実行されます。</span>
add responder policy delete_session_pol "http.req.url.contains("Logout")" delete_session <!--NeedCopy-->
-
ログイン要求があるかどうか、およびアクティブなセッションの数が100を超えているかどうかを確認する。これらの条件が満たされると、セッション数を制限するために、ユーザーはサーバーがビジーであることを示すページにリダイレクトされます。</span>
add responder action redirect_too_busy redirect "/too_busy.html" add responder policy check_login_pol "http.req.url.contains("example") && $session_map.valueCount > 100" redirect_too_busy <!--NeedCopy-->
-
-
レスポンダーポリシーをグローバルにバインドします。</span>
bind responder global add_session_pol 30 next bind responder global delete_session_pol 10 bind responder global check_login_pol 20 <!--NeedCopy-->
共有
共有
この記事の概要
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.