Я использую лак для балансировки нагрузки между двумя серверами, и я настроил директора и два бэкенда, которые успешно это делают.
Моя проблема в том, что мои два бэкенда работают 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;
}
}
Как я могу проверить работоспособность своих экземпляров, не сталкиваясь с этой проблемой? Или, другими словами, есть ли способ запросить другой порт, отличный от основного, для бэкэнда?