Я работаю с большим монолитным приложением с некоторыми частными маршрутами. Эти частные маршруты в настоящее время управляются простым классическим сервером nginx.
Мне нужно перенести это в Kubernetes, и я должен запретить любой внешний доступ к этим маршрутам. Я использую GKE, и, насколько мне известно, приватизировать маршруты можно внутри контроллера nginx-ingress.
Я пытаюсь использовать фрагмент сервера, но, похоже, он не работает. Вот текущий код:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
nginx.org/websocket-services: service-ws
nginx.org/server-snippet: |
location /private {
allow 10.100.0.0/16; #Pods IPs
allow 10.200.0.0/16; #Pods IPs
deny all;
}
generation: 3
В результате маршруты /private всегда возвращают 200 вместо 401/403. Я также пытался создать перенаправление вместо разрешения/запрета, а также получить 200 вместо 301 перенаправления.
У вас есть идеи или советы, как это сделать?