Как перенаправить на доменное имя с помощью https с помощью haproxy

Я попытался получить запрос и хочу перенаправить его на другой хост, используя имя DNS и выставленный с помощью протокола https. Например, мой сервер http://8.8.8.8:10101/partnerA/getUser. Я хочу, чтобы haproxy перенаправил это на https://partner.com/partnerA/getUser (тот же путь, что и к источнику). Я также хочу отфильтровать по пути для другого места назначения перенаправления, например, http://8.8.8.8:10101/partnerB/getMarketShare будет перенаправлен HAProxy на https://subdomainb.differentpartner.com/partnerB/getMarketShare(notice обратите внимание, что путь также следует то же правило, но в зависимости от пути оно даст другое имя хоста.

Я попробовал ниже haproxy.cfg

global
        log /dev/log    local0
        log /dev/log    local1 notice
        chroot /var/lib/haproxy
        stats socket /run/haproxy/admin.sock mode 660 level admin
        stats timeout 30s
        user haproxy
        group haproxy
        daemon

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        timeout connect 5000
        timeout client  50000
        timeout server  50000

#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend  main
    bind *:10101
    acl url_partnerA       path_beg -i /partnerA
    acl url_partnerB       path_beg -i /partnerB
    http-request redirect scheme https if url_partnerA
    http-request redirect scheme https if url_partnerB
    http-request redirect prefix https://partnerA.com if url_partnerA
    http-request redirect prefix https://subdomainb.differentpartner.com/ if url_partnerA
    default_backend             app

#---------------------------------------------------------------------
# round robin balancing between the various backends
backend app
    balance     roundrobin
   # server  app1 127.0.0.1:11003 check

Но каждый раз, когда я обращаюсь (я использую http) POST http://8.8.8.8:10101/partnerA/getUser, журнал от haproxy -f haproxy10101.cfg -d даст мне это

00000000:main.accept(0005)=0009 from [8.8.8.8:48554] ALPN=<none>
00000000:main.clireq[0009:ffffffff]: POST /partnerA/getUser HTTP/1.1
00000000:main.clihdr[0009:ffffffff]: Host: 8.8.8.8:10101
00000000:main.clihdr[0009:ffffffff]: User-Agent: curl/7.47.0
00000000:main.clihdr[0009:ffffffff]: Accept: */*
00000000:main.clihdr[0009:ffffffff]: Authorization: Basic dGNhc2g6RzBqM2tmMHJsMWYzIQ==
00000000:main.clihdr[0009:ffffffff]: Content-Type: application/json
00000000:main.clihdr[0009:ffffffff]: Postman-Token: 45a236c-740a-4859-a13a-1c45195a99f2
00000000:main.clihdr[0009:ffffffff]: cache-control: no-cache
00000000:main.clihdr[0009:ffffffff]: Content-Length: 218
00000000:main.clicls[0009:ffffffff]
00000000:main.closed[0009:ffffffff]

Что-нибудь, что я пропускаю, чтобы заставить это работать? Спасибо

0 ответов

Другие вопросы по тегам