Настройте несколько сайтов с Лаком

У нас есть сервер, который должен служить нескольким доменам хотя лак, например, example1.com, example2.com и example3.com

Наш текущий .vcl файл похож на это:

sub vcl_recv {
  set req.http.Host = "example1.com";    
  lookup;
}

Как я устанавливаю корректный req.http. Хост к корректному входящему запросу?

48
задан cherouvim 10 July 2013 в 23:43
поделиться

2 ответа

Вы можете поддерживать несколько внешних доменов следующим образом:

 backend example1 {
     .host = "backend.example1.com";
     .port = "8080";
 }
 backend example2 {
      .host = "backend.example2.com";
      .port = "8080";
 }
 sub vcl_recv {
    if (req.http.host == "example1.com") {
        #You will need the following line only if your backend has multiple virtual host names
        set req.http.host = "backend.example1.com";
        set req.backend = example1;
        return (lookup);
    }
    if (req.http.host == "example2.com") {
        #You will need the following line only if your backend has multiple virtual host names
        set req.http.host = "backend.example2.com";
        set req.backend = example2;
        return (lookup);
    }
 }
87
ответ дан 7 November 2019 в 12:14
поделиться

Я использую настройку, аналогичную настройке Кристиана, но в предложениях if я сопоставляю req.http.host с регулярным выражением:

#for www.example.com or example.com
if (req.http.host ~ "^(www\.)?example\.com$") {
        set req.backend = example_com;
        return (lookup);
}

#with any subdomain support
if (req.http.host ~ "^(.*\.)?example2\.com$") {
        set req.backend = example2_com;
        return (lookup);
}

Не забудьте правильно настроить серверные ВМ!

25
ответ дан 7 November 2019 в 12:14
поделиться
Другие вопросы по тегам:

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