标签: nginx kubernetes tcp kubernetes-ingress nginx-ingress
我有一个kubernetes集群,该集群通过this information在端口5432上公开了Postgresql,这就像一个魅力。我目前正在我的计算机上对此进行测试,它可以在db.x.io(x是我的域)上运行。但这也适用于localhost。这似乎很公平,因为它仅在端口5432上与我的服务建立了绑定。
db.x.io
x
localhost
我还如何在子域上进行过滤?因此只能通过db.x.io
答案 0 :(得分:1)
在过滤方面,TCP协议没有很多。这是因为TCP协议仅使用IP:Port组合,没有HTTP中的标头。建立连接之前,您的子域由DNS解析为IP地址。
TCP
IP:Port
DNS
IP
根据Nginx文档,您可以执行以下操作:
Restricting Access by IP Address Limiting the Number of TCP Connections Limiting the Bandwidth
您可以尝试通过向Nginx配置添加deny 127.0.0.1来限制从本地主机的访问,但是它很可能会破坏Postgresql。因此,这是一个冒险的建议。
deny 127.0.0.1
对于kubernetes入口对象,它将是:
metadata: annotations: nginx.org/server-snippets: | deny 127.0.0.1;
基于Nginx文档。