Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. Mojolicious

リバースプロキシからSSL通信であることを伝える / 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のスキーマを描画するようになります。

  • Perlとはテキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。
  • Linuxサーバーでのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意
  • Perlはgitopensslなど広く普及したUnix/Linuxミドルウェアの補助ツールとして採用実績あり。後方互換性とポータビリティの高さがひとつの理由と推測。
  • 大量のテキストを扱うWeb開発も得意。ロングテールSEOを意識したWebサイト、アドテクやソーシャルゲームでの50ms以内のJSONの生成など。