K8s Nginx Ingress 配置 Basic Auth 访问

status
Published
type
Post
slug
nginx-ingress-basic-auth-config
date
Mar 4, 2021
tags
K8s
Config
summary
为 K8s Nginx Ingress Controller 配置 HTTP Basic Auth,增强安全。首先使用 htpasswdopenssl 命令创建认证文件,然后创建 Secret,并将认证文件作为其值。最后,通过在 Ingress 中设置相应的注解来启用基本认证。成功应用后,访问 Ingress 对应的 URL 将需要输入用户名和密码。扩展:在 Nginx 配置文件中增加 auth_basicauth_basic_user_file 指令以配置 Basic 认证。

创建认证文件

可选的命令行工具有 `htpasswd` 和 `openssl`
  • htpasswd
  • openssl

创建 Secret

创建 Ingress

Nginx Ingress配置通过注解(annotations)来实现,基本认证主要有以下三个配置项
  • nginx.ingress.kubernetes.io/auth-type 认证类型
  • nginx.ingress.kubernetes.io/auth-secret 即上一步创建的Secret名称
  • nginx.ingress.kubernetes.io/auth-realm 当认证的时候显示一个合适的上下文信息
ingress-auth.yaml内容如下
成功应用后,此时我们再访问对应的url入口时,就会提示需要输入用户名和密码了
notion image
 
扩展:Nginx 中配置Basic认证

2020 - 2024 © HK