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
をかけてるとリダイレクトがループしてとても困る。