トラフィックを受信するポートに基づいて、カスタムhttpポートトラフィックをカスタムhttpsポートにリダイレクトしたい
複数のbindステートメントがあります:
bind 1.2.3.4:7777
bind 1.2.3.4:8888
bind 1.2.3.4:9999 ssl crt /etc/haporxy/somecert.crt
私が試したこと:
acl is7777 dst_port 7777
http-request redirect code 301 https://%[req.hdr(Host)]:9999%[capture.req.uri] if is7777
ただし、Chromeの開発ツールでログを見ると、req.hdr(Host)の値が古いポートの値を保持しているので、リダイレクトされます。
https://1.2.3.4:7777/:9999/.
ドメイン名だけを取得して、目的の宛先ポート9999にリダイレクトする方法
また、このようなもの:
http-request replace-value Host (.*):7777 \1:9999
後で複数のリダイレクトがあるため、アプリケーションフローを中断します。 7777(http)から9999(https)に移動する必要があります。 haproxyバージョン:1.5
redirect
またはreplace-value
からポートを削除します
http-request replace-value Host (.*):7777 \1
http-request redirect location https://%[req.hdr(Host)]:9999%[capture.req.uri] if is7777
OR
http-request replace-value Host (.*):7777 \1:9999
http-request redirect location https://%[req.hdr(Host)]%[capture.req.uri] if is7777