リバースプロキシからSSL通信であることを伝える

リバースプロキシを利用するときSSL通信が行われていることをMojoliciousに教えるにはX-Forwarded-HTTPSリクエストヘッダを設定します。

以下はApacheの例です。

<VirtualHost *:443>
  ServerName some.com
  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>
  ProxyRequests Off
  ProxyPreserveHost On
  ProxyPass / http://localhost:20000/ keepalive=On
  ProxyPassReverse / http://localhost:20000/
  RequestHeader set X-Forwarded-HTTPS "1"
</VirtualHost>

このようにするとhttpsのスキーマで通信しているのだとMojoliciousが認識しurl_forメソッドなどが正しくhttpsのスキーマを描画するようになります。

関連情報