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




  1. Perl




  2. Mojolicious


 リバースプロキシを利用するとき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スキーマを描画するようになります。