我有一個HAProxy配置爲接受* .mysubdomain.com的請求。 HAProxy將解析子域(prod.mysubdomain.com或dev.mysubdomain.com的prod或dev)並轉發到正確的後端。存在兩個後端,一個用於生產,另一個用於開發。每個後端包含兩個指向每個子域中的Marathon LB實例的服務器條目。HAProxy中的JWT驗證
子域需要一個JWT cookie用於在後端進行身份驗證。我有公鑰檢查智威湯遜的有效性,但希望在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可以將請求注入爲請求頭,那將會更好。 –