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

HaProxy - 502 Плохой шлюз: HTTP разговаривает через порт HTTPS

Я постараюсь объяснить свою проблему.

Я работаю над HaProxy 1.5.8 / apache 2.2, и я пытаюсь выполнить некоторую конфигурацию SSL, но я терплю неудачу, и неудачу, и неудачу.

Посмотрим несколько логов:

Журналы Haproxy

Aug 13 17:00:28 localhost haproxy[10930]: x.x.x.x - - [13/Aug/2015:15:00:28 +0000] "URLxxxxx HTTP/1.1" 502 +656 "" "" 50567 131 "FT-https-in~" "BK-https-out" "myserver-https" 13 0 1 -1 +17 PH-- 0 0 0 0 0 0 0 "" "" 

Журналы ошибок Apache

[Thu Aug 13 17:02:38 2015] [debug] ssl_engine_kernel.c(1903): OpenSSL: Exit: error in SSLv2/v3 read client hello A
[Thu Aug 13 17:02:38 2015] [info] [client haproxy-server] SSL handshake failed: HTTP spoken on HTTPS port; trying to send HTML error page
[Thu Aug 13 17:02:38 2015] [info] SSL Library Error: 336027804 error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request speaking HTTP to HTTPS port!?

Моя конфигурация HaProxy:

# - Frontend - HTTPS in
frontend FT-https-in
bind *:443 ssl crt /etc/haproxy/ssl/my_cert.pem
log global
option forwardfor except 127.0.0.1
option httplog clf
option log-separate-errors
option logasap
redirect scheme https if !{ ssl_fc }
default_backend BK-https-out


# - Backend - HTTPS out
backend BK-https-out
mode http
option forwardfor except 127.0.0.1/8 header X-Forwarded-For
log global
option httplog clf
option tcplog
option http-pretend-keepalive
option http-server-close
# pool de serveur du backend
server myserver-https x.x.x.x:443 check

Я попытался исправить свою проблему с конфигурацией заголовков, например:

 http-request set-header X-Forwarded-Port %[dst_port]
 http-request add-header X-Forwarded-Proto https if { ssl_fc }
 http-request add-header X-Proto https if { ssl_fc }
 http-request set-header X-SSL %[ssl_fc]

Мой файл pem построен так: crt / key / bundle

Но проблема все еще здесь. Если бы у кого-то была идея помочь мне!

Спасибо

Вам нужно сообщить HAproxy, что внутренний сервер использует SSL:

server myserver-https x.x.x.x:443 ssl check verify none

Часть «verify none» сообщает haproxy не проверять цепочку сертификатов. Я включил его, но, возможно, в этом нет необходимости.

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