Форум программистов, компьютерный форум, киберфорум
Nginx
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 23.08.2016
Сообщений: 12

Ограничение директивой map без использования if

12.01.2020, 19:27. Показов 992. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Пытаюсь настроить конфиг сервера с ограничением по ip используя лишь директиву map, но никак не выходит.

Вот мой рабочий вариант с if:
map $remote_addr $maintenance {
default 0;
192.168.88.171 0;
}


server {
listen 80;
server_name test.com;
if ($maintenance = 1) {
return 503;
}

Если использовать предложенный пример из оф. источника, то ограничение не работает

map $remote_addr $limit {
192.168.88.17 "";
default $binary_remote_addr;
}

limit_conn_zone $limit zone=addr:10m;
limit_conn addr 1;

Что я делаю не так?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.01.2020, 19:27
Ответы с готовыми решениями:

Emplace в std::map. Как добавить элемент в std::map без копирования?
здравствуйте... есть ли способ не писать так: std::map<int, char> ksa; ksa.emplace(std::piecewise_construct, ...

Ограничение использования программы в сутки
Здравствуйте Нужно чтобы скрипт добавлялся в автозагрузку, проверял запущенна ли программа и разрешал ее использование час в сутки. ...

Ограничение использования замечательных пределов
Добрый день! Повстречался недавно со следующим пределом: \lim_{x->0}\frac{x-ln(1+x+x^2)}{e^x+e^{-x}-2} При решении сразу же стал...

1
1137 / 685 / 412
Регистрация: 07.11.2015
Сообщений: 1,102
13.01.2020, 11:52
Code
1
2
3
4
5
6
7
8
9
10
11
map $remote_addr $maintenance {
    default 0;
    192.168.88.171 1;
}
 
server {
    listen 80;
    server_name test.com;
    if ($maintenance = 1) {
        return 503;
    }
С такими настройками все запросы с ip 192.168.88.171 будут блокироваться.


Code
1
2
3
4
5
6
7
8
9
10
11
map $remote_addr $limit {
    default "";
    192.168.88.17 $binary_remote_addr;
}
 
limit_conn_zone $limit zone=addr:10m;
 
server {
    listen 80;
    server_name test.com;
    limit_conn addr 1;
Тут для ip 192.168.88.17 ограничивается только число одновременных соединений, а не количество запросов.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.01.2020, 11:52
Помогаю со студенческими работами здесь

Ограничение использования внешних отчетов
Доброго времени суток всем! Как можно запретить пользователям 1с запускать внешние отчеты и обработки, расположенные вне определенного...

ограничение использования роутера техническим путем
Добрый день! Я крайне нуждаюсь в квалифицированной помощи. На днях в нашей сети (студ.общежитие) у отдельных пользователей перестал...

Найти значение из Map без ключа
Добрый день! Столкнулся с проблемой: есть Map<String, Object>(результат SELECT в бд), в нем одна пара, ключ не известен (известна...

Заполнение контейнера map из файла без цикла
В общем, вопрос следущий. Интересует, возможно ли инициализировать контейнер map, данными из файла, без использования циклов. Например,...

Можно ли по тех. заданию написать код без функции map?
Привет! Есть задание: Написал код с использованием фунциии map: a = input("Введите первую строку: ") b =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru