Учебник: компиляция не удалась

Убунту 16.04.2

лак-4.1.1

Я застрял здесь: https://varnish-cache.org/docs/4.1/tutorial/starting_varnish.html

Самое первое изменение конфигурации во всей книге. Он сказал: смените хост на www.varnish-cache.org и перезагрузите.

/etc/varnish/default.vcl

vcl 4.0;

backend default {
    .host = "www.varnish-cache.org";
    .port = "80";
}

я выполнил:

sudo service varnish restart

sudo service varnish reload

Но в любом случае у меня постоянно "Ошибка 503 Backend fetch failed".

Я пытался:

$ sudo varnishd -d -f default.vcl 
Error:
Failed to create vcl_boot/vgc.so: Permission deniedVCL compilation failed

Кажется, что компиляция не удалась. Не могли бы вы помочь мне здесь?


person Michael    schedule 16.09.2017    source источник


Ответы (1)


Это несколько неработающий учебник по нескольким причинам:

  • Они просят вас указать серверной части DNS-имя. Правильный способ - указать IP в определениях бэкэнда.
  • Независимо от того, что вы укажете (DNS или IP), он в конечном итоге передаст заголовок Host сайта, к которому вы обращаетесь в Varnish, и попросит внутренний сервер доставить сайт с этим именем хоста.

Итак, почему вы получаете сообщение об ошибке в соответствии с учебником:

  • Вы получаете доступ, например. http://localhost/ (или любое другое имя хоста, с которым вы получаете доступ к Varnish)
  • Затем Varnish обращается к HTTP-серверу по адресу lact-cache.org и запрашивает http://localhost.
  • Очевидно, что сервер Polish-cache.org не знает об этом и, скорее всего (в соответствии с их конфигурацией будет выдавать перенаправление / ошибка / и т. д.), следовательно, ошибка, которую вы видите.

Вместо этого лучше указать его на свой собственный веб-сервер и сделать это следующим образом:

vcl 4.0;

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

Вышеприведенное предполагает, что вы запускаете веб-сервер (nginx или Apache и т. д.) на той же машине, что и Varnish, и вы заставили его работать на порту 8080.

person Danila Vershinin    schedule 16.09.2017
comment
varnish-cache.org/docs/4.1/reference/ Имя хоста кажется приемлемым. - person Michael; 16.09.2017
comment
Я не спорю приемлемо это или нет. Лучше всего использовать IP, поскольку это позволит избежать ненужной путаницы/ожидания того, что запрос к серверной части передаст заголовок узла с тем же значением. - person Danila Vershinin; 16.09.2017
comment
Кажется, это не проблема. И я пока не изучаю лучшие практики. - person Michael; 16.09.2017