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

Форсировать WWW с помощью Varnish и nginx

Я пытаюсь понять, как заставить WWW в лаке только для одного домена. Я видел этот ответ чтобы удалить WWW, но я не знаю, как его перевести, чтобы заставить его.

Изменить: Чтобы уточнить, моя конфигурация nginx работает нормально. Это началось только после того, как я добавил Varnish. Я нашел виновного и ответил на свой вопрос.

Не используйте «если» без особых потребностей. Если зло! Правильный путь ...

server {
    server_name somedomain.com;
    return 301 http://www.somedomain.com$request_uri;
}

server {
    server_name www.somedomain.com;

    # typical lines
    # ...
}

Следующий фрагмент предназначен для конфигурации Nginx:

if ($host !~* ^www\.) {
   rewrite ^(.*)$ http://www.$host$1 permanent;
}

Мне нужно было удалить это из моего файла vcl в Varnish.

if (req.http.host ~ "^(www\.)?domain\.com$") {
    set req.http.host = "www.domain.com"
    return (lookup);

}