У меня есть 2 лаковых сервера, расположенных в цифровом океане в районе NY2. И у меня есть два веб-сервера, которые сидят в Amazon EC2 us-east-1b.лак 504 тайм-аут шлюза
Лак находится в версии 3.05, а apache работает на веб-серверах в версии 2.4.6. И я обнаружил, что каждая загружаемая страница вызывает ошибку «504 Gateway Time-out» перед загрузкой страницы. Иногда, если вы нажмете страницу на второй раз, она снова даст ошибку тайм-аута.
Это раздражающая ошибка, которую я хотел бы исправить. Я попытался решить эту проблему, установив таймауты на действительно высокий уровень в конфигурации лака. Это остановило 503 ошибки, которые я получал, но теперь 504 ошибки являются основной проблемой.
У меня есть очень простой файл VCL-лака. Вот оно:
backend web1 {
.host = "10.10.10.25";
.port = "80";
.connect_timeout = 1200s;
.first_byte_timeout = 1200s;
.between_bytes_timeout = 1200s;
.max_connections = 70;
.probe = {
.request =
"GET /healthcheck.php HTTP/1.1"
"Host: wiki.example.com"
"Connection: close";
.interval = 10m;
.timeout = 60s;
.window = 3;
.threshold = 2;
}
}
backend web2 {
.host = "10.10.10.26";
.port = "80";
.connect_timeout = 1200s;
.first_byte_timeout = 1200s;
.between_bytes_timeout = 1200s;
.max_connections = 70;
.probe = {
.request =
"GET /healthcheck.php HTTP/1.1"
"Host: wiki.example.com"
"Connection: close";
.interval = 10m;
.timeout = 60s;
.window = 3;
.threshold = 2;
}
}
director www round-robin {
{ .backend = web1; }
{ .backend = web2; }
}
sub vcl_recv {
if (req.url ~ "&action=submit($|/)") {
return (pass);
}
set req.backend = www;
return (lookup);
}
sub vcl_fetch {
set beresp.ttl = 3600s;
set beresp.grace = 4h;
return (deliver);
}
sub vcl_deliver {
if (obj.hits> 0) {
set resp.http.X-Cache = "HIT";
} else {
set resp.http.X-Cache = "MISS";
}
}
И это ошибка я получаю в журнале лаковой когда страница дает 504 ошибку:
10 TxHeader c Age: 1
10 TxHeader c Via: 1.1 varnish
10 TxHeader c Connection: close
10 TxHeader c X-Cache: MISS
10 Debug c Write error, retval = -1, len = 75311, errno = Connection reset by peer
10 ReqEnd c 1481957120 1436230882.856483936 1436230941.208484650 0.000118494 58.351872206 0.000128508
10 StatSess c 54.88.194.254 52474 58 1 1 0 0 1 565 74746
Я проверил, что я могу свернуться файл Healthcheck после эта ошибка возникает, и кажется, что я могу:
[[email protected]:/etc/varnish] #curl http://wiki.example.com/healthcheck.php
good
это странная установка, но это будет несколько недель, прежде чем мы будем иметь одобрение установки лак в в EC2. Это настройка, которую я унаследовал, и вам нужно попытаться сделать ее работоспособной в течение следующих нескольких недель.
Буду признателен за любую помощь и понимание, которые вы можете предоставить.