Полный новичок в Varnish, поэтому заранее извиняюсь, если это кажется довольно глупым.
Вот ситуация. У меня есть сервер с 5 IP. Использование ISPconfig для большинства задач, но это, вероятно, не имеет значения.
У меня есть несколько виртуальных хостов Apache, настроенных на несколько IP-адресов.
Проблема заключается в том, что лак выдает ошибку 503, ошибка выборки без подключения к серверу (согласно лакилогу) на любом из виртуальных хостов, отличных от стандартных, т. е. со статическим IP-адресом, определенным в vhosts. Любые виртуальные хосты *:8080 работают нормально. Значит я что-то где-то упускаю. Все журналы ошибок vhost показывают, что файл не существует, хотя путь выглядит правильно.
Предложения очень ценятся.
Я, конечно, вручную отредактировал все записи vhost и настроил их соответствующим образом, т.е.
<VirtualHost 00.11.22.33:8080>
DocumentRoot /var/www/shop.example1.com/web
Вот мой конфиг vcl
backend default {
.host = "127.0.0.1";
.port = "8080";
}
backend example1 {
.host = "00.11.22.33";
.port = "8080";
}
backend example2 {
.host = "11.22.33.44";
.port = "8080";
}
acl purge {
"localhost";
}
sub vcl_recv {
if (req.http.host ~ "(?i)^(www.)?example1.com")
{
set req.http.host = "www.example1.com";
set req.backend = example1;
}
if (req.http.Host ~ "shop\.example2\.com")
{
set req.http.Host = "shop.example2.com";
set req.backend = example2;
}
set req.grace = 2m;
set req.http.Cookie = regsuball(req.http.Cookie, "(^|;\s*)(_[_a-z]+|has_js)=[^;]*", "");
set req.http.Cookie = regsub(req.http.Cookie, "^;\s*", "");
if (req.url ~ "/wp-(login|admin|cron)") {
return (pass);
}
set req.http.Cookie = regsuball(req.http.Cookie, "wp-settings-1=[^;]+(; )?", "");
set req.http.Cookie = regsuball(req.http.Cookie, "wp-settings-time-1=[^;]+(; )?", "");
set req.http.Cookie = regsuball(req.http.Cookie, "wordpress_test_cookie=[^;]+(; )?", "");
if (req.url ~ "wp-content/themes/" && req.url ~ "\.(css|js|png|gif|jp(e)?g)") {
.......
'
VCL_call c miss fetch 11 FetchError c no backend connection 11 VCL_call c error deliver 11 VCL_call c deliver deliver 11 TxProtocol c HTTP/1.1 11 TxStatus c 503 11 TxResponse c Service Unavailable
Здесь я упускаю что-то очевидное. - person Nik   schedule 31.08.2012