貼code

2017年3月14日 星期二

Devise 的ssl 問題

因為以往的案子很少會用到ssl 驗證。這次剛好又機會要串ssl卻發現facebook登入後回來時會自動從https跳到http。進而造成Authenticity token的error(當使用者下次自https使用網站時)。這問題困擾我好久XD,最後發現是devise的問題,故在此紀錄一下。

我的方法是,先在Nginx或Apache設定redirect 301,強制使用這瀏覽http時自動導倒https。(雖然聽說rails 也可以做到類似事情,不過還是建議在Apache設定。

接著設定devise的部分,如果是用Nginx的話,在nginx.conf中加入

proxy_set_header X-FORWAEDED-PROTO $scheme;
如果是用Apache的話,加入


RequestHeader set X-FORWARDED-PROTO 'https'
參考資料:https://github.com/plataformatec/devise/wiki/How-To:-Use-SSL-(HTTPS)

沒有留言:

張貼留言