私は、* .mysubdomain.comへのリクエストを受け入れるように設定されたHAProxyを持っています。 HAProxyは、サブドメイン(prod.mysubdomain.comまたはdev.mysubdomain.comからprodまたはdev)を解析し、正しいバックエンドに転送します。 2つのバックエンドが存在し、1つはプロダクト用、もう1つはdev用です。各バックエンドには、各サブドメイン上のMarathon LBインスタンスを指す2つのサーバーエントリが含まれています。HAProxyでのJWT検証
サブドメインには、バックエンドでの認証にJWTクッキーが必要です。私はJWTの有効性をチェックするための公開鍵を持っていますが、HAProxyでそうしたいと思います。 HAProxy構成内でJWTの妥当性チェックを実行するための独自のコードを追加する方法はありますか?次のように
HAProxy設定ファイルは次のとおりです。
global
maxconn 256
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http-in
bind *:80
mode http
# Returns true when one of the headers contains one of the strings either isolated or delimited by dots. This is used to perform domain name matching.
acl host_dev hdr_dom(host) -i dev
acl host_prod hdr_dom(host) -i prod
acl jwtPresent req.cook(JWT) -m found
use_backend prod_domain if jwtPresent host_prod
use_backend dev_domain if jwtPresent host_dev
default_backend prod_domain
backend prod_domain
balance roundrobin
server prodDomain1 "${MARATHON_LB_PROD_1}" maxconn 32 check
server prodDomain2 "${MARATHON_LB_PROD_2}" maxconn 32 check
backend dev_domain
balance roundrobin
server devDomain1 "${MARATHON_LB_DEV_1}" maxconn 32 check
server devDomain2 "${MARATHON_LB_DEV_2}" maxconn 32 check
私も! HAPがクレームをリクエストヘッダーとして注入することができればさらに良いでしょう。 –