Перенаправить HTTP на HTTPS с помощью ldirectord/LVS

Мы используем LVS для балансировки нагрузки и хотим выполнить перенаправление 301 для http://example.com/ на https://example.com/

LVS включает https без проблем, но реальные http-серверы не добавляются в пул (вес 0).

LVS не следует за 301 перенаправлениями? Если нет, как мне настроить ldirectord для отправки всего HTTP-трафика по HTTPS?

Вот конфиг nginx:

server {
    listen      80;
    server_name example.com;
    return 301 https://example.com$request_uri;
}

server {
        listen       443;
        ssl on;
        ssl_certificate         server.crt;
        ssl_certificate_key     server.key;
        server_name  example.com;

# more here

}

И ldirectord.cf выглядит так:

virtual=VIP:80
        fallback=127.0.0.1:80
        real=10.0.0.7:80 masq 5
        real=10.0.0.8:80 masq 5
        service=http
        request="lvs.htm"
        receive="lvs"
        virtualhost=example.com
        scheduler=wlc
        protocol=tcp
        checktype=negotiate

virtual=VIP:443
        fallback=127.0.0.1:443
        real=10.0.0.7:443 masq 5
        real=10.0.0.8:443 masq 5
        service=https
        request="lvs.htm"
        receive="lvs"
        virtualhost=example.com
        scheduler=wlc
        protocol=tcp
        checktype=negotiate

Я также попытался установить свой VIP на порт 80, а мои порты RIP на 443, что привело к добавлению серверов в пул, но затем nginx возвращает 400 "Ошибка простого HTTP-запроса на порт HTTPS".

1 ответ

Решение

Я делал это сложнее, чем нужно было.

Я изменил свой nginx.conf так:

server {
    listen      80;
    server_name example.com;

    root    /var/www;

    location = /lvs.htm {
        #do nothing
    }

    location / {
        return 301 https://example.com$request_uri;
    }
}

lvs.htm находится в / var / www, поэтому местоположение совпадает, поиск останавливается, а lvs.htm предоставляется код ответа 200. LVS добавляет сервер в пул, и при его ударе nginx правильно перенаправляет на https с 301.

Другие вопросы по тегам