Как настроить несколько доменов с помощью 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 .

Если я отключу лак, все будет в порядке, но когда я его включу, я получил эту ошибку, я думаю, что моя конфигурация неправильная, но я не знаю почему, у кого-нибудь есть опыт работы с этим?

1
задан 23 May 2017 в 14:33
1 ответ

У вас есть перекрывающиеся слушатели в ваших конфигурациях nginx и varnish.

Если Varnish слушает 8080, вам нужно, чтобы Nginx слушал порт 80 и отправлял запросы на 8080. способ сделать это - с помощью оператора proxy_pass .

1
ответ дан 3 December 2019 в 23:43

Теги

Похожие вопросы