Настройка Varnish VCL для нескольких поддоменов с V-хостами?

Скажем для простоты, так как я стартап на Varnish, у меня есть один сервер, имеющий Varnish а также Apache вместе внутри. В Apache есть несколько поддоменов в качестве виртуальных хостов.

Допустим, у меня есть:

  • sub1.example.com
  • sub2.example.com
  • sub3.example.com

Тогда я изменил только Apache httpd.conf порт для:

Listen 8080

Опять же, теперь моя настройка бэкэнда в VCL:

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

Теперь мой вопрос здесь:

  • Достаточно ли этого для такой установки? Серьезно, чего мне здесь не хватает?
  • То, что мне все еще нужно прояснить, это, во-первых, в Apache httpd.conf конец, это только нужно изменить Listen значение?

Как насчет этого:

NameVirtualHost *:80

а также настройки V.Host для каждого поддоменов:

<VirtualHost *:80>
..
..
</VirtualHost>
  • Мне также нужно изменить эти порты на 8080 пожалуйста, для стороны Apache?

Наконец, в конфигурации VCL я вижу следующее:

if (req.http.host == ".........com") {
    ..
}

.. на других форумах.

  • У меня нет такого рода настройки внутри моего VCL
  • Так что мне нужно такое и / или серьезно, что мне не хватает в моей схеме, пожалуйста?

Спасибо всем!

1 ответ

Решение

Лак будет работать на port 80, Итак, Apache должен работать на любом другом порту port 80, Я лично готовлюсь к использованию port 81 для Apache как port 8080 обычно используется Apache Tomcat.

Прослушивание Apache на port 81,httpd.conf (/etc/httpd/conf/httpd.conf).

Listen 81
NameVirtualHost *:81

Файл конфигурации по умолчанию для Varnish.default.vcl (/etc/varnish/default.vcl).

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

Виртуальный хост для sub1.example.net и sub2.example.net.vhosts.conf (/etc/httpd/conf.d/vhosts/example.net.conf).

# vhost : sub1.example.net
<VirtualHost *:81>
  ...
  ServerName sub1.example.net
  ...
  <Directory "/var/www/html/vhosts/example.net/sub1/public_html">
    ...
  </Directory>
  ...
</VirtualHost>

# vhost : sub2.example.net
<VirtualHost *:81>
  ...
  ServerName sub2.example.net
  ...
  <Directory "/var/www/html/vhosts/example.net/sub2/public_html">
    ...
  </Directory>
  ...
</VirtualHost>
Другие вопросы по тегам