web-dev-qa-db-ja.com

HAProxyをhttpsフォワードプロキシおよびSSL終了として使用する

私はこのようなことをやろうとしています:

  • クライアントはHAProxyにHTTPリクエストを送信します。
  • HAProxyはTLSを実行して、要求をhttpsに変換し、サーバーに転送します。クライアントへのHTTP。
  • サーバーはhttps応答をHAProxyに送信し、応答はHTTPとしてクライアントに転送されます。

現在、HAProxyでその目標を達成する方法がよくわかりません。カスタムポートでリッスンするフロントエンドを作成してから、バックエンドサーバーに転送しようとしました。これは私のHAProxy設定です:

frontend manager_https
    bind *:8443
    mode tcp
    log global
    maxconn 2000
    timeout client 50000
    default_backend     https_be

backend https_be
    timeout connect         5000
    timeout server          50000
    retries                 3
    server                  rtmp-manager 127.0.0.1:12345 check-ssl verify none

残念ながら、これは機能しません。クライアントがHTTPリクエストを送信すると、HAProxyはHTTPリクエストをHTTPSではなくバックエンドサーバーに転送します。構成を変更して期待どおりに機能させるにはどうすればよいですか?

別の質問:HAProxyを使用してクライアントでオフロードを透過的にする方法はありますか?

私は本当にどんな助けにも感謝します!

1
Minh Duc Truong

次のように、バックエンドサーバーの定義でsslディレクティブを指定します。

 server                  rtmp-manager 127.0.0.1:12345 check-ssl ssl verify none

check-sslオプションはヘルスチェックにのみ影響し、sslが指定されている場合、ヘルスチェックはSSL経由で自動的に行われるため、省略できます。

HAProxyは透過的なリバースプロキシとして機能する必要があるため、クライアントはリクエストが実際にバックエンドサーバーによって処理されることを認識しないでください。

2
Lacek