■[Linux Tips, OSS Tips] Rails(mongrel)でsslリバースプロキシ


Ruby on Railsをmongrelで動作させ、apache2でリバースプロキシ

を行う場合、バックエンド(mongrel)をhttp、フロントエンド(apache2)

として運用するとバックエンドで強制的にhttpになってしまう。

 

これにより、本来HTTPSで戻ってくるはずがHTTPになってしまい、

アドレス不一致でListenし損なってnot foundになったりする。

 

この場合、リバースプロキシ側に強制的にHTTPSでリダイレクトさせる設定

が必要となる。「/etc/httpd/conf.d/virtualhost.conf」等の

ホスト設定に下記のようにリバースプロキシの設定を行う。

 

SSLProxyEngine On

RequestHeader set X_FORWARDED_PROTO 'https'

RedirectMatch ^/rails$ https://ssl.example.co.jp/rails/

ProxyPass /rails/ http://example.co.jp:3000/post/

ProxyPassReverse /rails/ http://example.co.jp:3000/rails/

 

赤文字の部分が今回のメインとなる。

コメントはまだありません。

コメントする