faces-redirect=trueで遷移するとhttpsからhttpにとんじゃう

 ssl/tlsはnginxでやって裏にtomcatがいる構成で、リダイレクトするとhttpにいってしまう。コレ、tomcatはhttpでやってるからそらそうだわなと思うんだけど世の中そんなので悩んでるやつはあまり居なかった。

 ということはだね、普通はこんな状況に遭遇しないってことだね。つまり、エンタープライズな人はロードバランサーでサーバの構成をするので、リバースプロキシな設定はそっちでヨロシクやってくれるというものです。

apacheだと

ProxyPassReverse /app/ http://192.168.0.x/app/  

nginxの場合、こういうのは無いらしいのでヘッダーをつけるそうです。

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect http:// https://;

赤字部分がなかったので追加したらうまくいくようになりました。X-Forwarded-Protoが効いていると思われ。