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

Всем привет, хочу запретить доступ к /api/v1/docs при этом

разрешить запросы на /api :

annotations:
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/configuration-snippet: |
location ~ ^/api/v\d+/docs {
return 403;
}

spec:
ingressClassName: nginx
...
rules:
...
- host: partner.force2.ru
http:
paths:
- backend:
service:
name: frontend-service
port:
number: 80
path: /
pathType: Prefix

- backend:
service:
name: interaction-service
port:
number: 80
path: /api/
pathType: Prefix

можете объяснить почему не работает и как лучше сделать в моем случае?

18 ответов

25 просмотров

\d+ - а такая регулярка работает в локейшенах?боюсь тот лучше [0-9]

а ещё тебе наверное логичнее сервер сниппет использовать, чтобы глобально 1 раз прописалось, а не внутрь всех локейщенов

потому что когда включаешь регулярки, у тебя они включаются для всех paths а регулярки в nginx работают по принципу какая первая по порядку совпала, та конфигурация и используется НО!!! nginx ingress controller сортирует paths по убиыванию для таких случаев НО!!! snippet никак не учитывается в этой сортировке я вам советую глянуть какой в итоге конфиг получился для хоста k exec nginx-ingress-pod-name -- cat /etc/nginx/nginx.conf и искать домен затем смотреть в каком порядке locations и где стоит snippet кстати вам для location нужен server-snippet, а не configuration-snippet

Dmitry Sergeev 🇺🇦
потому что когда включаешь регулярки, у тебя они в...

много с чем согласен, а кой чего ну вот нет)) потому что когда включаешь регулярки Так и пофиг что он включает и насрать какая последовательность)), ведь оно добавляется внутрь каждого локейщена)), а значит сработает))

Dmitry Sergeev 🇺🇦
не понял, что добавляется внутрь location'а?

location ~ ^/api/v\d+/docs { return 403; } Это добавляется внутрь каждого локейшена, а патчи в ингрессе порождают локейшены

Владимир Муковоз
location ~ ^/api/v\d+/docs { return 403;...

ааа, configuration-snippet внутрь каждого добавляется. Понял но я такие конфигурации не люблю (вложенные локейшены)

кстати с 1.9 по умолчанию сниппеты отключены

Dmitry Sergeev 🇺🇦
ааа, configuration-snippet внутрь каждого добавляе...

вложенные локейшены, особенно когда вложенный локейшен из ругулярки это хорошо, я все регулярки стараюсь внутрь сувать)

Dmitry Sergeev 🇺🇦
кстати с 1.9 по умолчанию сниппеты отключены

оно даже не задеплоится если он не включил)) А на сколько я понял у него не срабатывает, но деплоится

ваще странно что этот конфиг не работает, если эта штука засовывает в каждый location этот snippet. по идее должно было сработать 🤔, и не важно что верхние location из-за use-regex станут регулярками

Sergei Mikhaltsov
Все?

да хз, но это можно отключить

Dmitry Sergeev 🇺🇦
ваще странно что этот конфиг не работает, если эта...

меня смущает \d в локейшене, оно разве там работает так?

Владимир Муковоз
меня смущает \d в локейшене, оно разве там работае...

ну если в nginx.conf в таком виде попало, то вроде должно. В nginx вроде PCRE синтаксис регялярок но я бы тоже предпочел [0-9]+

Dmitry Sergeev 🇺🇦
ну если в nginx.conf в таком виде попало, то вроде...

ну попасть оно туда что угодно попасть может, но как будет работать вопрос другой

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
.
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
.
18
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Кто может подсказать? Я преобрпзовал изображение в бинарное(у меня установлен трекбар который при установленном значении меняет пиксели на белый если меньше и чёрный если боль...
Константин VS
6
Карта сайта