2016-05-27 5 views
0

私はHAPROXYの前にSSL終了を持っているので、httpsがアドレスバーにあるかどうかを調べようとしていますが、HTTPの場合はHAPROXYがリダイレクトするようにしたい知っている)。SSL終了せずにHTTPSを検出する

私が試した:!{} ssl_fc

場合 リダイレクトスキームHTTPSをしかし、それはパケットがすでにSSLを持っていないので、それは決して終わることのないループで終わります。アドレスバーにプレフィックスを付ける別の方法はありますか?また、それは複数のドメインのために、ワイルドカードでこれをしようとしています。

答えて

0

私は私はあなたがSSLをELBに終了した意味を前提とHAPROXY

前にSSLターミネーションがありますか?

その場合:HTTPモードで

redirect scheme https unless { hdr(x-forwarded-proto) -m str https } 

ELBは、SSL接続にX-Forwarded-Proto: httpsを追加します。値はhttpに設定されます。ヘッダー値が期待どおりに一致しないかぎり、リダイレクトを生成します。

+0

これはまさに私がやろうとしていたもので、あなたの修正は完全に機能しました。ありがとう。私はちょうどより一般的な修正があったそのencaseを置かなかった。 – AndrewL

+0

いいえ、それです。 'ssl_fc'(SSL/TLS ** on f ** ront-end ** c ** onnection)フェッチは、HAProxy自身のフロントエンドソケットのみを参照します。これは、ブラウザがプロキシに直接接続しているときに機能しますが、実際にSSLを終了するデバイスがあるかどうかを認識していないため、ヘッダーにヒントが表示されます。 –

関連する問題