Я запускаю Hudson, Sonar и HA Proxy на одном сервере (делаю это ради POC, поэтому у меня нет доступа к нескольким серверам.
Я использую HAProxy для включения SSL для обоих серверов.
Я могу получить доступ к каждому из этих серверов локально, используя следующие URL-адреса 127.0.0.1:9000/sonar и 127.0.0.1:8088/hudson с хоста
Но когда я пытаюсь получить удаленный доступ к серверу с помощью https: /52.X.X.X/sonar или https: /52.X.X.X/hudson, я получаю
No data received
ERR_EMPTY_RESPONSE
Если я добавлю default_backend sonar
в конфигурацию 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
Ваша конфигурация настроена для использования mode tcp
для frontend https
блок.
Измените это на mode http
и все должно быть в порядке.
Причина в том, что HAProxy не декодирует ваши HTTP-запросы, а просто просматривает информацию уровня 4 (исходный и целевой IP-адрес и порты).