PoundでSSLラッパーを作る

Pound2.3.2 をインストールしたら、前と設定の仕方が若干変わっていた。

昔は、ListehHTTPとListenHTTPSの中にそれぞれ Service を書けば動いたんだけど。公式サイトみたら、若干変わってたような感じがした。

以下の様に、まずListenHTTPSとListenHTTPを書く。その後にServiceを書き始める。SSLの判別はアプリ側でやったほうがよさげ。

ListenHTTPS
  Address 192.168.1.1
  Port 443
  Cert "/usr/local/etc/example.pem"
  AddHeader "X-Forwarded-Proto: https"
  HeadRemove "X-Forwarded-Proto"
End

ListenHTTP
  Address 192.168.1.1
  Port 80
  xHTTP  2
End

Service
  HeadRequire "Host: test.com"
  BackEnd
    Address 127.0.0.1
    Port 8200
  End
End

ネットでPoundはヘッダの情報を書き換えないって書いてあったけど、下記のように書かないと通信がhttpsで来たという情報がバックエンドに伝わってこない。

AddHeader "X-Forwarded-Proto: https"
HeadRemove "X-Forwarded-Proto"

これを書かないと、 request.ssl?false になってしまう。ssl_required をかけてるとリダイレクトがループしてとても困る。

コメントを残す

メールアドレスが公開されることはありません。