如何使用Kubernetes Nginx入口控制器禁用http访问服务?



我有一个提供API的服务,我希望只能通过https访问该服务。我不希望http重定向到https,因为这会暴露凭证,调用者不会注意到。最好得到一个错误响应。

如何配置ingress.yaml?注意,对于同一集群中的其他服务,我希望保持从httphttps的默认308重定向。

谢谢。

在文档中:您可以阅读以下关于通过重定向强制HTTPS的句子:

默认情况下,如果为该入口启用TLS,控制器将重定向(308)到HTTPS。如果你想全局禁用此行为,你可以在NGINX ConfigMap中使用ssl-redirect: "false"

要为特定的入口资源配置此特性,可以使用nginx.ingress.kubernetes。io/ssl-redirect:"false"在特定资源中的注释。

你也可以创建两个单独的配置:一个包含http和https,另一个只包含http。

使用kubernetes.io/ingress.class注释可以选择要使用的入口控制器。

该机制还为用户提供了运行多个NGINX入口控制器的能力(例如,一个服务于公共流量,一个服务于"内部";交通)。

参见这个和这个类似的问题。

相关内容

  • 没有找到相关文章

最新更新