火曜日のエントリーに書いたような事情で、nginxでSSLを扱う実験をしているんですが、原理的に(nginxがってことではなくて)どうもうまくいかない状況に遭遇。
1つのサーバーマシン上に、www.example-foo.com, www.example-bar.org を仮想ホストとして載せるとします。他に、secure.example.jp という仮想ホストがあって、このsecure.example.jpにSSL処理は集約することにします。実際には、www.example-foo.com/secure/ へのアクセスを、https://secure.example.jp/example-foo/ にリダイレクトで振って、必要があればリバースプロキシー機能でもう一度 www.example-foo.com/secure/ へ戻せばいいかなー、と考えました。
なんでこんな細工をしたいかというと、バックエンドのCatyサーバーにSSL処理をさせたくないのと、ちゃんとしたSSL証明書にはお金がかかるから1つで間に合わせたい、とそんな理由です。
課金の決済(レジ)のように、secure.example.jp 内で処理が完結するならいいのですが、ログインのように、secure.example.jp により生成された状態(クッキー)を、www.example-foo.comとかwww.example-bar.orgとかで使おうとすると、ドメインが違うので受け渡しする手段が思いつきません。クエリーパラメータにして引き回すとかすりゃなんとかなるか? とも思ったんですが、欝陶しそうだし安全な気がしない。
とりあえずの感触では「そういうことはするもんじゃない」、と。それとも、解決策があるのかしら?