Назад | Перейти на главную страницу

Как настроить несколько доменов с помощью Varnish и nginx

Я прочитал эту статью, но не могу заставить свое дело работать 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 заявление.