0
点赞
收藏
分享

微信扫一扫

Ingress配置认证登录

Nginx认证登录参考

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

  1. 使用密码工具生成密码文件

# htpasswd -c  kibana.passwd admin

以上命令意思是给用户名为admin设置一个密码,在提示框连续输入两次需要设置的密码即可

Ingress配置认证登录_nginx


会在当前目录生成文件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'

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

Ingress配置认证登录_nginx_02



举报

相关推荐

0 条评论