Блокировка через nginx+geoip конекретной страницы/раздела сайта

location /porno {

if ($allowed_country = no) {
return 444;
}

}

Но тут нужно учитывать, что рулить списком можно только глобально

Похоже что это проблема эта глобальная, а не возможность управления, раз так ни кто и не может её решить....
Не работает такой чудо-код к сожалению...
 
Раздел /naturists/ на данный момент ни кому не доступен, только для запрещённой страны ничего браузер не сообщает, просто не доступен как бы сайт, а с остальных доступных стран
404 Not Found
nginx/1.10.1
Все правильно, работает точно так, как написано в конфиге - ловим запрос в локейшн, проверяем if, плохой - отлуп, а хороший - а дальше что?
Код:
    location ^~ /naturists/ {
        if ($allowed_country = no) {
        return 444;
        }
    }
А вот если сделать как-то так (даю сугубо для примера)
Код:
    location ^~ /naturists/ {
        if ($allowed_country = no) {
        return 444;
        }
        proxy_pass http://127.0.0.1:8080;
        proxy_redirect http://127.0.0.1:8080 /;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
Т.е. поймали запрос в локейшн - и теперь внутри него пишем свою обработку (можно использовать вложенные локейшены и т.д.).
Надеюсь, суть ясна.
 
как настроить дополнительную блокировку на определённые страницы или разделы сайта?
В общем то перефразирую вопрос более правильно.
Не дополнительную, а только на раздел и его страницы! И это учитывая то, что на весь домен в целом она работает без проблем. Просто нет смыла блокировать весь сайт из-за одного раздела из десятка имеющихся.

proxy_pass Для просмотра ссылки Войди или Зарегистрируйся
proxy_redirect Для просмотра ссылки Войди или Зарегистрируйся /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
Т.е. поймали запрос в локейшн - и теперь внутри него пишем свою обработку (можно использовать вложенные локейшены и т.д.).
Надеюсь, суть ясна.
Даже больше чем ясна. Я это не много ни туда вставлял, поэтому не работало.
Сейчас всё ОК. Спасибо.
 
Последнее редактирование модератором:
Столкнулся с очередной так можно назвать проблемой.
В общем дело в том, что данная запись для блокировки оказалось не работает для сайта с протоколом https , то есть ошибок ни каких, а просто как бы её там и нет такой записи, все страницы для которых она прописана продолжают открываться как ни в чём не бывало.
Может есть какое нибудь решение для этой проблемы?
 
Пардон, разобрался. Надо было просто перенести эти записи в секцию для ssl .
 
Назад
Сверху