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

Запретить HAProxy перенаправлять HTTP на HTTPS

Я использую HAproxy для балансировки нагрузки между серверами Apache. Я пытаюсь отключить HTTPS для особого случая использования (обслуживание файлов кикстарта), и для этого я использую порт 8000. У меня есть конфигурация HAProxy, которая выглядит примерно так (некоторые конфигурации были опущены):

frontend provision_frontend_b
        bind 10.1.1.1:8000
        mode http
        default_backend provision_backendb


backend provision_backendb
        mode http
        server server1 127.0.0.1:8000 weight 1
        server server2 10.1.1.2:8000 weight 1

Я хочу, чтобы HAProxy перенаправлял запросы, сделанные на внешний IP-адрес на порту 8000, на адрес обратной связи на порту 8000, где я прослушивал Apache. Apache настроен для обслуживания статических файлов через HTTP.

Как ни странно, когда я попадаю на сервер из своего браузера, используя DNS-имя внешнего интерфейса: http: //myhost.mydomain: 8000, Меня перенаправляют на HTTPS и возникает ошибка сертификата SSL. Когда я пытаюсь использовать IP, http://10.1.1.1:8000, он работает (и не перенаправляет на HTTPS).

Есть ли причина, по которой HAProxy сделал бы это? Это не похоже на Apache, поскольку я настроил HAProxy для перенаправления на другие HTTP-серверы Apache и по-прежнему получаю эту ошибку.

Единственное, что я вижу в конфигурации HAProxy, - это другой интерфейс, настроенный для перенаправления на SSL:

frontend http_frontend
        bind :80
        mode http
        redirect scheme https if !{ ssl_fc }

Однако он прослушивает другой порт. Я попытался прокомментировать перенаправление, но это не помогло.

Нет, это не Хапрокси. Haproxy не имеет ничего общего с вашим перенаправлением https. Похоже на myhost.mydomain был кэширован в вашем веб-браузере для внутреннего перенаправления 307. Которая всегда будет отправлять ваш трафик в режиме https. Очистите кеш и удалите файлы cookie в браузере, все должно работать. Я не уверен, что вы могли бы сделать что-нибудь со стороны сервера, однажды я столкнулся с этой проблемой, я попытался принудительно перенаправить на схему http, но затем ошибка многих редиректов подошел.