LINUX.ORG.RU

RGW за HAProxy не получается настроить

 ,


0

1

Привет, ЛОР. Снова пришёл к тебе за помощью, помоги плес.

Кароч есть одна тян прокся перед кластером из 3 нод. Идея состоит в том, чтобы по доменному имени прокси получать доступ к бакетам S3. То есть, ceph.prod.test/test-bucket и погнали туда лить данные. Проблема состоит в том, что не получается настроить проксю. Вот, что есть на данный момент

frontend ceph_dashboard_http
       bind *:80
       mode http
       option httplog
       http-request redirect scheme https code 301 if !{ ssl_fc }

frontend ceph_dashboard_ssl
       mode tcp
       bind *:443 ssl crt /etc/ssl/private/ceph.prod.test.pem
       option tcplog
#       use_backend %[req.hdr(Host),lower]
#       acl sub1 hdr_sub(host) -i ceph.prod.test/test-bucket

       use_backend test-bucket if { path /test-bucket }  || { path_beg /test-bucket/ }
       default_backend ceph_dashboard_ssl

backend test-bucket
       balance roundrobin
#        mode http
       http-request replace-path /test-bucket(/)?(.*) /\2
       server ceph1 10.50.8.170:80 check
       server ceph2 10.50.8.171:80 check
       server ceph3 10.50.8.172:80 check

backend ceph_dashboard_ssl
       mode tcp
       option httpchk GET /
       http-check expect status 200
       server ceph1 10.50.8.170:8080 check
       server ceph2 10.50.8.171:8080 check
       server ceph3 10.50.8.172:8080 check

Я вот уже явно указывают созданный баке test-bucket в path но, судя по логам прокси, оно не переключается на бекенд test-bucket, а продолжает использовать ceph_dashboard_ssl, что вызывает глубочаюшую озабоченность.

КОгда курлыкаю

curl -v --insecure https://ceph.prod.test/test-bucket

то получаю это пренеприятнейшее известие

{"status": "404 Not Found", "detail": "The path '/test-bucket' was not found.", "request_id": "d81d9e71-bc02-460b-864f-80d2e77a5483"}

из чего я делаю вывод, что он чот не хочет моё мощное выражение { path /test-bucket } || { path_beg /test-bucket/ } воспринимать всерьёз.

ЛОР, что не так? кроме моего набора хромосом, разумеется

Всё починил, вот рабочий конфиг, если вдруг кто будет с тпохожей проблемой.

frontend front_ceph_dashboard_http
        bind *:80
        mode http
        option httplog
        http-request redirect scheme https code 301 if !{ ssl_fc }

frontend front_ceph_dashboard_ssl
        mode http
        bind *:443 ssl crt /etc/ssl/private/ceph.prod.test.pem
        option forwardfor

        use_backend test-bucket if { hdr_beg(Host) -i test-bucket. } || { path /test-bucket } 
        default_backend back_ceph_dashboard_ssl

backend test-bucket
        balance roundrobin
        mode http
        server ceph1 10.50.8.170:80 check
        server ceph2 10.50.8.171:80 check
        server ceph3 10.50.8.172:80 check

backend back_ceph_dashboard_ssl
        mode http
        option httpchk GET /
        http-check expect status 200
        server ceph1 10.50.8.170:8080 check
        server ceph2 10.50.8.171:8080 check
        server ceph3 10.50.8.172:8080 check

SpaceRanger ★★
() автор топика
Последнее исправление: SpaceRanger (всего исправлений: 1)