私はHAProxyを動作させようとしているインターネットの深さを精査していますが、私が望むものを達成できるかどうかはわかりません。私はこの次試してみましたHAproxyサブディレクトリ
:ここhttps://www.haproxy.com/blog/howto-write-apache-proxypass-rules-in-haproxy/
は私のシナリオです:私は、私はHAProxyはhttp://backend-ip:8999/
でAPP1のルートを持参してくださいhttps://PUBLIC-IP-ADDRESS/app1
に行くときのポート8999上でAPP1を実行しているVMを持っています。
私が直面している問題は、初期接続をプロキシするためにHAProxyを取得できることですが、それ以降のすべての要求はデフォルトのバックエンドサーバーのルートに移動します。
frontend www-https
bind *:8989 ssl crt /ssl/server.pem
log global
option httplog
reqadd X-Forwarded-Proto:\ https
rspadd Strict-Transport-Security:\ max-age=31536000;\ includeSubDomains
acl app1 path_beg -i /app1 /app1/
use_backend www-app1 if app1
default_backend www-backend
backend app1
option http-server-close
option forwardfor
reqirep [\:])\ /app1/(.) \1\ /\2
acl hdr_location res.hdr(Location) -m found
rspirep Location:\ (https?://Public-IP-ADDRESS(:[0-9]+)?)?(/.*) Location:\ /app1\3 if hdr_location
server app1 bk.IP-ADDRESS:8999 check
/app1/
に行くが動作するようになりましたが、すべてのリンクが/
を指します。どこでもクリックするとhttps://PUBLIC-IP-ADDRESS
に戻ります。
ご協力いただきまして誠にありがとうございます。
(私はこの1つを選ぶだろう)
/app1
パスをあきらめ、サブドメインを使用します帽子はオプションではありません。だから、HAiveを落として、代わりにApacheを使って作業してください。しかし、提案のおかげで。 – Justin