Запустите зонд Varnish на порту, отличном от основного внутреннего порта.

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

Моя проблема в том, что мои два бэкенда работают nginx на порту 80, указанном для my.domain.com. Затем Nginx перенаправляет мой запрос процессу, прослушивающему порт 3000. В моем процессе есть маршрут под названием /healthcheck, который я хотел бы использовать для внутреннего зонда лака.

В настоящее время мой файл .vcl выглядит так:

backend b0 {
        .host = "53.243.15.198";
        .probe = { 
                .url = "/healthcheck";
                .timeout = 34 ms; 
                .interval = 1s; 
                .window = 10;
                .threshold = 8;
        }
}

Итак, если я перехожу к my.domain.com/healthcheck, я получаю 200 OK, но когда лак инициирует запрос nginx, он не принимает его, так как он больше не исходит от my.domain.com.

Я пробовал это на основе этой документации, но это не помогло. работа:

 backend b0 {
            .host = "53.243.15.198";
            .probe = { 
                    .request =
                         "GET /healthcheck HTTP/1.1"
                         "Host: 53.243.15.198:3000"
                         "Connection: close";
                    .timeout = 34 ms; 
                    .interval = 1s; 
                    .window = 10;
                    .threshold = 8;
            }
    }

Как я могу проверить работоспособность своих экземпляров, не сталкиваясь с этой проблемой? Или, другими словами, есть ли способ запросить другой порт, отличный от основного, для бэкэнда?


person Loourr    schedule 31.07.2014    source источник


Ответы (1)


Вам все еще нужно отправить проверку работоспособности на nginx. Однако ваши зонды должны иметь HTTP-хост my.domain.com :

backend b0 {
        .host = "53.243.15.198";
        .host_header = "my.domain.com";
        .probe = { 
                .url = "/healthcheck";
                .timeout = 34 ms; 
                .interval = 1s; 
                .window = 10;
                .threshold = 8;
        }
}
person Doomsday    schedule 06.08.2014