InfraPodIPチェックオンラインツールサイトマップ本サイトはプロモーションを含みます。80が正式リリースされSameSite属性が付与されていないクッキーを「SameSite=None」ではなく「SameSite=Lax」として取り扱うように仕様変更されました。これによりクロスドメインでクッキーを送信する事が難しくなりました。この対応に苦慮している開発者やインフラエンジニアは多いのではないかと思います。ACOSのパーシステンスクッキーA10はセッションを維持させるためにパーシステンスクッキーを発行できます。パーシステンスクッキーであればSameSite属性があってもなくても問題ないように思えます。現実には問題が発生する場合があります。問題が発生する例たとえばログイン中のサイトAで送金処理をするとします。A10はエンドユーザーがサイトAにログインする際にエンドユーザーのWEBブラウザへパーシステンスクッキーを発行しています。このクッキーをWEBブラウザがA10へ送信する事によってA10はクッキーの情報からどのPoolメンバーへ振り分けるべきか判断できます。ログイン中は常に同じサーバーへ振り分けますからログインセッションが切れることはありません。送金処理に話しを戻しましょう。サイトAでは送金処理をサイトBと連携しているためWEBブラウザの画面をサイトAからサイトBに遷移させます。サイトBで送金が問題なく完了したらWEBブラウザの画面を元のサイトAへ遷移させます。ここでどのようにサイトAに遷移させるか、これが問題です。このときPOSTメソッドでサイトAへ遷移するとパーシステンスクッキーのSameSite属性がNoneでない場合を除いてWEBブラウザはサイトAにパーシステンスクッキーを送信しません。WEBブラウザがパーシステンスクッキーを送信しない場合、A10は新たにPoolメンバーから振り分け先を選んでしまいます。ここで最初のログイン時とは別のサーバーに振り分けてしまうとログインセッションは切れてしまいます。aFlexでブラウザ判定しながらSameSite属性を付与する何でもかんでもSameSite属性にNoneを付ければ良いというわけではありません。いうのもSameSite=Noneに対応していないWEBブラウザがあるからです。SameSite=Strictとして扱う他にもあるでしょうが、わたしは情報を持っていないので全てを掲載できません。これらのWEBブラウザについてはSameSite属性を付けないようにした方が良いでしょう。ACOSでSameSite属性を付与する際の注意点として、パーシステンスクッキーを暗号化している場合は解除する必要があります。4.1.1-P6からデフォルトでパーシステンスクッキーを暗号化ようになっており、それまでデフォルト設定(クッキー暗号化しない)で動作させていた場合でもAOCSのバージョンアップで暗号化するように変わっていますから注意してください。サンプルaFlexSameSite属性はHTTPレスポンス送信時にしか設定できません。送信元のWEBブラウザを判定できるのはHTTPリクエストを受けたときのみです。そのためHTTPリクエストを受けた際にWEBブラウザ判定を行って結果を変数に設定しておき、レスポンス送信時に判定結果の変数を見てSameSite属性を付与すれば良いでしょう。パーシステンスクッキーの名前です。実際に設定しているパーシステンスクッキーの名前を設定してください。WEBブラウザの判定はswitchの箇所で行っています。「-glob」で正規表現を使いマッチさせると良いでしょう。aFlexの正規表現ではglobスタイルとregexpスタイルがありますが、通常はglobスタイルの方がシンプルで使いやすいと思います。部分パターンにマッチまとめインフラエンジニアの方はSameSite属性への対応要件がちらほら入ってくるかも知れません。いう場合の対処になれば幸いです。コメントをキャンセルメールアドレスが公開されることはありません。date*日本語が含まれない投稿は無視されますのでご注意ください。