HAProxyを使用して特定の外部サーバに対して接続を行おうとしています。
まずはテストとして自社のホームページにreverse proxyで接続しようとしました。
frontend web_in bind *:8080 bind *:443 ssl crt /etc/haproxy/server.pem http-request redirect scheme https unless { ssl_fc } default_backend backend_servers backend backend_servers server web02 52.193.yyy.xxx:443
上記の用に設定したところ
ERR_SSL_PROTOCOL_ERROR
と表示されました。エラーログには下記のように出ています。
Jul 5 16:08:22 localhost haproxy[8486]: 153.240.220.0:1732 [05/Jul/2022:16:08:22.571] web_in web_in/<NOSRV> -1/-1/-1/-1/0 400 187 - - PR-- 1/1/0/0/0 0/0 "<BADREQ>" Jul 5 16:08:22 localhost haproxy[8486]: 153.240.220.0:1733 [05/Jul/2022:16:08:22.584] web_in web_in/<NOSRV> -1/-1/-1/-1/3 400 187 - - PR-- 1/1/0/0/0 0/0 "<BADREQ>"
証明書関連(自己証明)かと思い下記の設定を行ったところ
frontend web_in bind *:8080 default_backend backend_servers backend backend_servers server web02 52.193.yyy.xxx:443
としたところ
400 Bad Request The plain HTTP request was sent to HTTPS port
と出力されました。外部のhttpsのサーバに対してhaproxyで接続する方法を教えていただけますでしょうか。
HTTPS だとクライアント - HAProxy 間で SSL 終端なので、HAProxy に正規の証明書を用意するしかないと思います。
あるいは、TCP モードでまるっと転送するか(クライアント - バックエンドWebサーバー間で SSL 終端)。
あなたの回答
tips
プレビュー