スティッキCookieを使用したセッション永続性の有効化

アプリケーション・ゲートウェイでCookieを使用して永続セッションを有効にします。スティッキCookieは、同じバックエンド・サーバーに転送されます。

スティッキ・サポートを使用する必要があるのは、複数のオリジンがある場合のみです。これを行うには、NGINX upstreamブロックを作成します。

  1. ファイル/usr/local/nginx/conf/nginx.confを編集して、アプリケーション・ゲートウェイのスティッキ・モジュールを有効にします。
    • load_module /scratch/oracle/cloudgate/home/lib/idcs_cloudgate_ngx.so;という行の下に次を追加します
      load_module /scratch/oracle/cloudgate/home/lib/ngx_http_sticky_module.so;
    • include /usr/local/nginx/conf/agent_conf/*.conf;という行の下に次を追加します
      include /usr/local/nginx/conf/origin_conf/*.conf;
  2. 次を使用してNGINX upstreamブロックを作成します
    $ vi /usr/local/nginx/conf/origin_conf/myupstream.conf
    
    Add below entry to myupstream.conf
    upstream weblogic {
        sticky;
        server 100.111.190.221:7003;
        server 100.111.190.220:7003;
    }
  3. オリジン・サーバーを変更します。
    1. ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」で、「ドメイン」を選択します。
    2. 作業するアイデンティティ・ドメインの名前をクリックします。必要なドメインを見つけるには、コンパートメントの変更が必要になる場合があります。次に、「セキュリティ」「アプリケーション・ゲートウェイ」の順にクリックします。
    3. 「リソース」で「アプリケーション」を選択し、「アプリケーション・ゲートウェイ」を選択します。
    4. アプリケーションの詳細で、オリジン・サーバーを変更して、アップストリームを指すようにします。

スティッキ・パラメータ

upstream {
  sticky;  
  server 127.0.0.1:9001;
  server 127.0.0.1:9002;
}

  sticky [hash=index|md5|sha1] [no_fallback]
       [name=route] [domain=.example.com] [path=/] [expires=1h] [secure] [httponly];
   or
  sticky [hmac=md5|sha1 hmac_key=<foobar_key>] [no_fallback]
       [name=route] [domain=.example.com] [path=/] [expires=1h] [secure] [httponly];
   or
  sticky [text=raw] [no_fallback]
       [name=route] [domain=.example.com] [path=/] [expires=1h] [secure] [httponly];

サーバー選択アルゴリズム

アルゴリズム 説明
hash

アップストリーム・サーバーのエンコードに使用されるハッシュ・メカニズム。これは、hmacまたはtextとともに使用できません。

  • md5|sha1.情報をエンコードするための標準の暗号化ハッシュ関数。
  • index.情報はハッシュ化されず、かわりにインメモリー索引が使用されます。これは高速で、オーバーヘッドは短縮されますが、アップストリーム・サーバー・リストに対する照合は一貫性がなく、アップストリーム・サーバーで索引値が変更された場合、同じサーバーに一致しない可能性があります。これを考慮したうえで確信的に使用する場合のみ、indexを使用してください。

デフォルトはmd5です。

hmac アップストリーム・サーバーのエンコードに使用されるHMACハッシュ・メカニズム。ハッシュ・メカニズムと同様ですが、ハッシュの保護にhmac_keyが使用されます。これは、hashまたはtextとともに使用できません。
hmac_key hmacで使用する暗号化キー。hmacを使用する場合は、hmac_keyを設定します。
no_fallback このフラグを設定すると、リクエストにCookieが含まれ、対応するバックエンドが使用できない場合、502 (不正なゲートウェイまたはプロキシ・エラー)が返されます。upstreamブロックにこれを設定することも、serverまたはlocationブロックにsticky_no_fallbackを設定することもできます。

Cookie設定

設定 説明
name 永続アップストリーム・サーバーのトラッキングに使用されるCookieの名前。デフォルトはrouteです。
domain Cookieが有効なドメイン。ブラウザでドメインを処理する場合、デフォルトはnoneです。
path Cookieが有効なパス。デフォルトは/です。
expires

Cookieの有効期間。デフォルトはnothingです。これはセッションCookieであり、クライアントが停止すると削除されます。

指定した時間の経過後にCookieを期限切れにするための値を入力します。この値はクライアントを基準として設定され、1秒より長い期間である必要があります。

secure HTTPSのみを使用して転送されるセキュアなCookieを有効にします。
httponly サーバーのみがCookieにアクセスできることをブラウザに指示します。