OdooのSSLアクセス

odooのconfファイルのproxy_modeと“HTTP_X_FORWARDED_HOST”の値によりプロキシモードかどうかが決められます。
proxy_mode→True、それにHTTP_X_FORWARDED_HOSTの値があれば、werkzeugのproxyfixメソッドが実行される
また、proxyfixメソッドにHTTP_X_FORWARDED_PROTOによりnviron['wsgi.url_scheme']の値が付与されます。

f:id:nobutomo2018:20180330194150p:plain


proxy_mode→TrueにしてもHTTP_X_FORWARDED_HOSTが設定されていないので、狙っているproxyfixメソッドが実行されていない。
結局、werkzeug.utils.redirect処理を行った時に非プロキシモード処理となるので、HTTP遷移が発生しております。


解決方法:def application(environ, start_response)関数の最初に以下の処理を加える
environ[HTTP_X_FORWARDED_HOST]→URL

environ[HTTP_X_FORWARDED_PROTO]→’HTTPS