目前,随着 kubernetes 中的 nginx 入口,它将始终使用默认后端响应直接 IP 请求(即 http://1.1.1.1(,并且似乎没有办法禁用它。
更糟糕的是,它还将使用自签名证书以相同的方式响应 https://1.1.1.1(您可以覆盖它,但显然即使您提供了有效的证书,它仍然对 IP 请求无效(这是一个主要的安全漏洞,导致任何使用 Kubernetes 和 nginx 入口的站点都无法通过 PCI 合规性网络扫描。
并且无法在入口定义中覆盖此行为。
我试图弄清楚如何在没有黑客攻击的情况下阻止默认后端响应 IP 请求上的 https,因为在生产环境中从来没有这种情况是安全的并且总是会导致 PCI 故障。
如何让nginx入口不响应IP请求上的https?
所以我终于出于 PCI 目的解决了这个问题。这并不令人满意,但它有效,他们不会惊慌失措。只需为您的网站应用相同的默认证书即可。它无效,但由于它来自有效的签名机构,PCI 扫描允许它通过。
这很蹩脚,但无论如何。
我尝试谷歌搜索并测试了几个想法,但没有一个奏效。
我也尝试阅读nginx入口代码,但没有找到任何令人满意的东西。
我认为你能做的最好的事情就是问开发人员。 只需在nginx-ingress github存储库上打开一个问题。