Настройка 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>