gpt4 book ai didi

kubernetes - 拒绝访问 kubernetes 集群之外的路由

转载 作者:行者123 更新时间:2023-12-02 11:31:35 26 4
gpt4 key购买 nike

我正在处理一个带有一些私有(private)路由的大型整体式应用程序。这些私有(private)路由目前由普通的经典 nginx 服务器管理。

我需要将其迁移到 Kubernetes,并且我必须拒绝对这些路由的所有外部访问。我正在使用 GKE 和 AFAIK,私有(private)化路由可以在 nginx-ingress Controller 内部完成。

我正在尝试使用服务器代码段,但它似乎不起作用。这是当前代码:

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 重定向。

您有什么想法或技巧可以使这项工作成功吗?

最佳答案

在许多链接之后,问题是大多数文档中的前缀不是最新的:

这是一个工作示例:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/server-snippet: |-
location /management_api {
allow 1.2.3.4/16; # Pod address range
allow 1.3.4.5/16; # Pod address range
deny all;

proxy_http_version 1.1;
proxy_redirect off;
proxy_intercept_errors on;
proxy_set_header Connection "";
proxy_set_header X-CF-Visitor $http_cf_visitor;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://10.11.12.13;
}

尽情享受吧!

关于kubernetes - 拒绝访问 kubernetes 集群之外的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54125470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com