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 ответов

52 просмотра

\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 в таком виде попало, то вроде...

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта