Назад | Перейти на главную страницу

Разгрузка Haproxy SSL

Я хочу загрузить баланс двух серверов apache / php с помощью haproxy. Погуглил я увидел, что начиная с версии 1.5 dev12, haproxy поддерживает разгрузку SSL, что, как я понимаю, означает, что нет необходимости в каких-либо дополнительных компонентах перед haproxy для обработки SSL.

В основном я следил за этой статьей http://blog.exceliance.fr/2012/09/10/how-to-get-ssl-with-haproxy-getting-rid-of-stunnel-stud-nginx-or-pound/ настроить haproxy

Ниже моей конфигурации

global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        #log loghost    local0 info
        maxconn 4096
        chroot /usr/share/haproxy
        uid 99
        gid 99
        daemon
        #debug
        #quiet

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        option  redispatch
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000

frontend ft_test
  mode http
  bind 0.0.0.0:443 ssl crt /home/prx/haproxy_ssl/haproxy.ssl prefer-server-ciphers
  # other (self described) options are: [ciphers <suite>] [nosslv3] [notlsv1]
  default_backend bk_test


backend bk_test
  mode http
  balance roundrobin
  server  inst1 10.1.2.43:80 check inter 2000 fall 3
  server  inst2 10.1.2.142:80 check inter 2000 fall 3

Проблема в том, что бэкэнд-серверы получают запросы одновременно. Я имею в виду, я обновляю страницу один раз и каждый раз, когда в журнале веб-сервера появляются 3 запроса. Образец журналов.

10.1.2.138 - - [24/Jan/2013:12:16:09 -0500] "GET /index.php HTTP/1.1" 200 67170
10.1.2.138 - - [24/Jan/2013:12:16:09 -0500] "GET /index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2524
10.1.2.138 - - [24/Jan/2013:12:16:09 -0500] "GET /index.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2146

Иногда 2 запроса попадают на один сервер, а 1 - на другой, но результаты обновления 1 страницы до 3 запросов, поступающих на бэкэнд. Я проверил конфигурации бэкэнд-серверов, и они в порядке.

Конфигурация haproxy неверна? Спасибо

Возможно ли, что эти запросы, которые вы видите, представляют собой всего лишь несколько HTTP-запросов для загрузки страницы? Я считаю, что баланс раундробина будет иметь каждый отдельный запрос, отправляемый на другой внутренний сервер. Если вы хотите, чтобы пользователь одновременно взаимодействовал только с одним внутренним сервером, я думаю, вам нужно будет изучить постоянство. Как еще одна возможность, могли ли вы видеть проверки внутреннего сервера в журналах?