2016Titaniumで開発したアプリを本番環境で動かしたときにログインしたあとセッションが持続できない現象を調査したときの覚書。4.13.4サーバーのAPIはNode.jsで実装していて、nginxからリバースプロキシしている。他のプロジェクトはsession.resave=trueにして常に保存するようにしていた。resaveについては公式ドキュメントで。true}));今作っているアプリはログインせずにゲストでもいろいろ出来るので、resave=falseにして不要なセッションは作らないようにしてみた。開発環境では問題なく動作していて、本番環境のHTTPS(SSL)で動かしてみるとセッションが維持できない。ハマったのはiOSではセッションが維持出来たので(←気のせいだった)、Androidアプリ側の問題かと思っていた。Cookieを使ったセッションの場合、サーバー側でセッションを保存するとレスポンスヘッダーの「Set-Cookie」に値が入る。TitaniumだとHTTPClientのonload時にレスポンスヘッダーを見ればCookieに保存するかわかる。console.log(this.getResponseHeader('Set-Cookie'));nginxのリバースプロキシするときにちゃんとhttpsの通信だというのを指定する必要があった。何かに向けて駆け抜けている途中。猫2匹に囲まれて奮闘する日々。7サーバーのSSL/TLS設定を見直すPostfixにSPFとDKIMと暗号化の設定まとめAipoの起動スクリプトを作成。関連リンク株式会社ウェブリクTwitterのプロフィールFacebookのプロフィールGitHubのプロフィール。