Задать вопрос
  • Как правильно использовать valid_referers в Nginx?

    @bahinnn
    Вебмастер, электрощик
    напишу для тех у кого такие же проблемы, как у топикстартера

    valid_referers none blocked server_names ~(\.yandex\.|\.google\.);
    if ($invalid_referer) {
    rewrite (.*)\.(jpg|jpeg|png|gif)$ [ссылка куда редиректить];
    или
    return 403; //блокируем 
    }


    если нужно заблокировать доступ к url на вашем сайте, всем кроме нужных referer:
    location ~ "[ссылка на вашем сайте]" {
    try_files $uri $uri/ /index.php?$args;
    valid_referers none blocked server_names ~(\.yandex\.|\.google\.);
    if ($invalid_referer) { return 403;  }
    }


    пояснение:
    server_names - это ваш домен, не нужно вписывать что-то типа my.domain.com
    если убрать [none blocked] эти = ~(\.yandex\.|\.google\.) блокнуться (у автора топика нет внешних источников, поэтому [none blocked] мешало)

    добавлять нужно в location соблюдая последовательность — вставите не в тот location, работать не будет!
    Ответ написан
    Комментировать
  • Почему не отдается кешированная страница, в заголовках всегда X-Fastcgi-Cache:MISS?

    @bahinnn
    Вебмастер, электрощик
    хоть и прошел не один год, отвечу для других — кеширование настроено правильно, просто не хватает:
    location ~ [^/]\.php(/|$) {
    ...
    fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
    ...
    }

    это:
    post-check=0, pre-check=0
    и это
    Pragma: no-cache
    лучше убрать
    Ответ написан
    1 комментарий