haproxy - отклонить запрос, если хост заголовка запроса не совпадает с именем домена - PullRequest
0 голосов
/ 07 ноября 2019

Я использую HAProxy для балансировки нагрузки. Я хочу отклонить все запросы API, в которых изменяется значение хоста. например, если URL-адрес API равен «www.example.com/api/getUserDetail», если значением HOST заголовка запроса является example.com, то будет обслуживаться только этот API, в противном случае его следует отправить на «www.example.com/404/».

global
    log 127.0.0.1 local0 notice
    maxconn 2000
    user haproxy
    group haproxy

defaults
    log     global
    mode    http
    option  httplog
    option  dontlognull
    option forwardfor
    option http-server-close
    retries 3
    option redispatch
    timeout connect  5000
    timeout client  10000
    timeout server  10000

frontend ELB
    bind *:80
    mode http
    http-response set-header Strict-Transport-Security "max-age=16000000; includeSubDomains; preload;"
    stats uri /haproxy?stats
    stats auth hapuser:hapuser

    acl apicall path_beg -i /api/
    use_backend apigateway if apicall

    acl explorercall path_beg -i /explorer/
    use_backend apigateway if explorercall

    default_backend weburl
backend weburl
    mode http
    balance leastconn
    compression algo gzip
    compression type text/css text/html text/javascript application/javascript text/plain text/xml application/json image/svg+xml
    http-response set-header Strict-Transport-Security "max-age=16000000; includeSubDomains; preload;"
    server weburl1 127.0.0.1:3000 check port 80 inter 10s rise 2 fall 2

backend apigateway
    mode http
    balance leastconn
    compression algo gzip
    compression type text/css text/html text/javascript application/javascript text/plain text/xml application/json image/svg+xml
    http-response set-header Strict-Transport-Security "max-age=16000000; includeSubDomains; preload;"
    server apigateway1 127.0.0.1:6001 check port 80 inter 10s rise 2 fall 2
...