Я работаю с большим монолитным приложением с некоторыми частными маршрутами. Эти частные маршруты в настоящее время управляются простым классическим сервером nginx.
Мне нужно перенести это в Kubernetes, и я должен запретить любой внешний доступ к этим маршрутам. Я использую GKE и AFAIK, приватизировать маршруты можно в контроллере 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
В результате / частные маршруты всегда возвращают 200 вместо 401/403.
Я также пытался создать перенаправление вместо allow / deny, а также получить 200 вместо 301 перенаправлений.
У вас есть какие-нибудь идеи или советы, чтобы сделать эту работу?