Запуск Hudson, Sonar и HA Proxy на одном сервере

Я использую Hudson, Sonar и HA Proxy на одном сервере (делаю это ради POC, поэтому у меня нет доступ к нескольким серверам.

Я использую HAProxy для включения SSL для обоих серверов.

Я могу получить доступ к каждому из этих серверов локально, используя следующие URL-адреса 127.0.0.1:9000/sonar и 127.0.0.1:8088/hudson из хост

Но когда я пытаюсь получить удаленный доступ к серверу по https: /52.XXX/sonar или https: /52.XXX/hudson Я получаю

No data received
ERR_EMPTY_RESPONSE

. Если я добавлю default_backend в конфигурацию HAProxy, я смогу запустить сонар, но не hudson, и наоборот.

Моя конфигурация HAProxy выглядит так

global
    log 127.0.0.1 local2
    tune.ssl.default-dh-param 2048

defaults
    mode tcp
    # Set timeouts to your needs
    timeout client  1h
    timeout connect 1h
    timeout server  1h
    option http-server-close

frontend http
    mode http
    bind *:80
    compression algo gzip
    redirect scheme https if !{ ssl_fc }

frontend https
    mode tcp
    bind *:443 ssl crt /etc/haproxy/buildserver.pem
    compression algo gzip

    use_backend sonar if { path_beg /sonar }
    use_backend hudson if { path_beg /hudson }

backend sonar
    server srv_sonar localhost:9000

backend hudson
    server srv_hudson localhost:8088

Мы будем очень признательны за любую помощь по запуску и сонара, и хадсона.

ИЗМЕНИТЬ Окончательный рабочий файл конфигурации

global
    log 127.0.0.1 local2
    tune.ssl.default-dh-param 2048

defaults
    mode http
    # Set timeouts to your needs
    timeout client  1h
    timeout connect 1h
    timeout server  1h
    option http-server-close

frontend http
    bind *:80
    compression algo gzip
    redirect scheme https if !{ ssl_fc }

frontend https
    bind *:443 ssl crt /etc/haproxy/buildserver.pem
    compression algo gzip

    use_backend sonar if { path_beg /sonar }
    use_backend hudson if { path_beg /hudson }

backend sonar
    server srv_sonar localhost:9000

backend hudson
    server srv_hudson localhost:8088
0
задан 10 February 2016 в 08:51
1 ответ

Ваша конфигурация настроена на использование режима tcp для внешнего интерфейса https ].

Измените его на режим http , и все будет в порядке.

Причина в том, что HAProxy не декодирует ваши HTTP-запросы, а просто просматривает информацию уровня 4 (источник и IP-адрес назначения и порты).

3
ответ дан 4 December 2019 в 12:24

Теги

Похожие вопросы