Ingress配置认证登录

Nginx认证登录参考
https://www.cnblogs.com/minseo/p/9234003.html

使用Ingress代理的站点怎么设置认证

  1. 使用密码工具生成密码文件
# htpasswd -c  kibana.passwd admin

以上命令意思是给用户名为admin设置一个密码,在提示框连续输入两次需要设置的密码即可
image
会在当前目录生成文件auth字符串为加密后

# cat auth
admin:$apr1$eUtjJLBJ$AzkPhTx.GYwiT0q7phKhd1

如果没有htpasswd命令则使用以下命令安装
CentOS系统

# yum install httpd-tools

Ubuntu系统

#  apt install apache2-utils
  1. 导入secret
    创建secert名称为basic-auth 该密钥是从文件auth创建的
# kubectl create secret generic basic-auth --from-file=auth 
  1. 修改ingress配置文件
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  generation: 1
  name: kibana-ingress
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: 4096m
    nginx.ingress.kubernetes.io/auth-type: basic
    # 使用刚才创建的secret名称 
    nginx.ingress.kubernetes.io/auth-secret: basic-auth
    # "Authentication Required - admin"这个只是账号密码输错时的一个提示
    nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required - admin'
spec:
  rules:
  - host: kibana.test.com
    http:
      paths:
      - backend:
          serviceName: kibana-outside-svc
          servicePort: 80
        path: /
  tls:
  - hosts:
    - kibana.test.com
    secretName: test.com

添加以下几行配置

# 认证模式basic
nginx.ingress.kubernetes.io/auth-type: basic
# 使用刚才创建的secret名称 
nginx.ingress.kubernetes.io/auth-secret: basic-auth
# "Authentication Required - admin"这个只是账号密码输错时的一个提示
nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required - admin'

访问提示需要用户名和密码
image

posted @   minseo  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2023-07-11 Windows10无法上网网络提示"依赖或组无法启动"的处理方法
2019-07-11 Python3 IO编程之操作文件和目录
点击右上角即可分享
微信分享提示