#kubernetes #nginx-ingress
#kubernetes #nginx-вход
Вопрос:
У меня очень простая конфигурация, но пока не нашел прямого ответа. Таким образом, за этим стоит nginx-вход и служба gunicorn. Я хочу защитить серверную часть gunicorn от всех ботов, использующих грубые URL-адреса. Поэтому я хочу перенаправить только несколько URL-адресов, таких как:
- /
- / один/*
- / два/*
- / три/*
Какова самая простая конфигурация входа для достижения этой цели?
Комментарии:
1. Вы используете kubernetes nginx ingress или nginxinc kubernetes ingress ? Я бы сказал, что простого входа, подобного here , должно быть достаточно, просто добавьте еще 2 пути и удалите раздел tls, если вы его не используете. Кроме того, взгляните на эту проблему на github , там есть полезная информация и несколько примеров. Это отвечает на ваш вопрос?
2. Частично проблема в том, что root(«/») разрешает все, но мне нужно именно «/» и перечисленные URL-адреса с путями, а все остальное — запретить.
Ответ №1:
Вы можете попробовать эту конфигурацию:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: app
labels:
app.kubernetes.io/name: app
annotations:
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
rules:
- host: app.domain.com
http:
paths:
- path: /(one|two|three)/
backend:
serviceName: app
servicePort: 5000
- path: /(. )
backend:
serviceName: app2
servicePort: 5000
- path: /
backend:
serviceName: app
servicePort: 5000
В этом примере:
- приложение — ваше приложение
- app2 — приложение, которое отвечает с 403 или другой ошибкой