172 похожих чатов

Приветствую. Можно ли как-то в ingress ограничить GET запросы только

локальной сетью, а POST разрешить только из интернета?
Пробовал такое решение:
nginx.ingress.kubernetes.io/configuration-snippet: |
limit_except GET {
allow 10.0.0.0/8;
allow 172.16.0.0/12;
allow 192.168.0.0/16;
deny all;
}
POST ограничивается в любом варианте, и показывает 503 не зависимо от RemoteIP

17 ответов

14 просмотров

А ты уверен что в твой под ingress прилетает корректный remoteIP?

limit_except только на уровне location работает Ну и твой конфиг как раз запрещает для любых запросов кроме GET, для POST PUT, ... действуют запреты в твоем случае, а для GET нет

Николай-Емашев Автор вопроса
Aleksey Lazarev
А ты уверен что в твой под ingress прилетает корре...

Да, судя по логам ingress пода 503 выдается c локального RemoteIP.

Николай Емашев
Да, судя по логам ingress пода 503 выдается c лока...

у тебя в конфиге не то что ты описал в задаче. Ты запрещяешь все типы запросов КРОМЕ GET http://nginx.org/ru/docs/http/ngx_http_core_module.html#limit_except

Николай-Емашев Автор вопроса
Dmitry Sergeev 🇺🇦
limit_except только на уровне location работает Ну...

если POST прописать - то GET 503ю уже выдает. Вот хочу понять как их разрулить то по сетям.

Николай Емашев
если POST прописать - то GET 503ю уже выдает. Вот ...

прочитай доку про limit_except Потому что если POST прописать туда, то ограничения будут дейсвтвовать на все типы запросов КРОМЕ POST =) Ну и remote_addr конечно клиентский должен быть

Николай-Емашев Автор вопроса
Dmitry Sergeev 🇺🇦
прочитай доку про limit_except Потому что если POS...

читал уже ( ограничить я как раз могу, выше пример как раз из доки и использовал. Но мне нужно разрешить все запросы, только в локалке, а с глобала - должен работать только POST. Получается, что через limit_except не получится ограничить их?

Николай Емашев
читал уже ( ограничить я как раз могу, выше приме...

limit_except GET POST UPLOAD HUEMBUEM { allow 10.0.0.0/8; allow 172.16.0.0/12; allow 192.168.0.0/16; deny all; }

Николай Емашев
читал уже ( ограничить я как раз могу, выше приме...

limit_except POST PUT DELETE MKCOL COPY MOVE PROPFIND OPTIONS PROPPATCH LOCK UNLOCK PATCH { allow 10.0.0.0/8; allow 172.16.0.0/12; allow 192.168.0.0/16; deny all; } что-нибудь такое По идее это разрешит GET HEAD только с локалки, остальное можно откуда угодно

Николай-Емашев Автор вопроса
Dmitry Sergeev 🇺🇦
limit_except POST PUT DELETE MKCOL COPY MOVE PROP...

Попробовал так указать (до этого только POST и GET менял местами). Но увы. Так же 503. {—-"httpRequest":{"requestMethod": "GET", "requestUrl": "data-collector.dev.ru/api/v1/register", "status": 503,"requestSize": "132", "responseSize": "", "userAgent": "curl/7.68.0", "remoteIp": "172.24.17.212", "referer": "", }}

Николай Емашев
Попробовал так указать (до этого только POST и GET...

а в переменную nginx $remote_addr точно этот ip 172.24.17.212 попадает? Смотри как оно в nginx.conf собралось Ну и должно не 503 выдвать в случае срабатывания а 403. То есть это не limit_except срабатывает А лог твой не из nginx

Николай-Емашев Автор вопроса
Dmitry Sergeev 🇺🇦
а в переменную nginx $remote_addr точно этот ip 17...

172.24.17.212 - это IP одного из мастеров. На нем же ingress контроллер. Логи я из ingress контроллера смотрю, это точно логи nginx. в поде если смотреть, то там в /etc/nginx/nginx.conf limit_except добавляется в основной location / далее только proxy_pass на балансер. limit_except POST PUT DELETE MKCOL COPY MOVE PROPFIND OPTIONS PROPPATCH LOCK UNLOCK PATCH { allow 10.0.0.0/8; allow 172.16.0.0/12; allow 192.168.0.0/16; deny all; } proxy_pass http://upstream_balancer; proxy_redirect off;

Николай Емашев
172.24.17.212 - это IP одного из мастеров. На нем...

ну что-то странное, если срабывает deny, nginx 403 возвращает. что-то сломано

Николай-Емашев Автор вопроса
Aleksey Lazarev
А если limit_except убрать то 200?

да, если убрать - то все прекрасно ходит

Николай Емашев
да, если убрать - то все прекрасно ходит

А если оставить только GET то тоже 200 на GET?

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

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Карта сайта