Я прочитал эту статью, но не могу заставить свое дело работать https://stackoverflow.com/questions/3334023/configure-multiple-sites-with-varnish
Это моя проблема
У меня 2 домена: mysite1.com и mysite2.com
Это моя конфигурация в default.vcl
backend default {
.host = "127.0.0.1";
.port = "8080";
}
backend mysite2 {
.host = "127.0.0.1";
.port = "8080";
}
sub vcl_recv {
if (req.http.host == "mysite1.com" || req.http.host == "www.mysite1.com") {
set req.backend = default;
} elsif (req.http.host == "mysite2.com" || req.http.host == "www.mysite2.com") {
set req.backend = mysite2;
}
}
и теперь конфигурация ngix в / etc / ngix / site-avaiable / mysite2
server {
server_name mysite2.com;
#server_name localhost;
listen 127.0.0.1:8080;
root /home/mysite2/sites/mysite2
// some bla bla here
}
Моя проблема в том, что всякий раз, когда я пытаюсь подключиться к mysite2.com, все должно перемещаться на mysite1.com.
Если я отключу лак, все будет в порядке, но когда я его включу, я получил эту ошибку, я думаю, что моя конфигурация неверна, но я не знаю почему, у кого-то есть опыт работы с этим?
У вас есть перекрывающиеся слушатели в ваших конфигурациях nginx и varnish.
Если Varnish прослушивает 8080, вам нужно, чтобы Nginx прослушивал порт 80 и отправлял запросы на 8080. Способ сделать это: с proxy_pass
заявление.